求助!!!
查看原帖
求助!!!
442042
fortyyearslater楼主2022/5/2 01:24
#include <bits/stdc++.h>
using namespace std;
string numbers[29]={" zero "," one "," two "," three "," four "," five "," six "," seven "," eight "," nine "," ten "," eleven "," twelve "," thirteen "," fourteen "," fifteen "," sixteen "," seventeen "," eighteen "," nineteen "," twenty "," a "," both "," another "," first "," second "," third "};
int i,a,b,c,p,sum=1;
string out,in,nums[8];
bool flag;
string number[29]={"0","01","04","09","16","25","36","49","64","81","00","21","44","69","96","25","56","89","24","61","0","01","04","01","01","04","09"};
void detect(int pos,string in)
{
	for(p=0;p<=26;p++)
	{
		if(in.find(numbers[p])==pos)
		{
			flag=true;
			nums[sum]=number[p];
			sum++;
		}
	}
}
int main()
{
	getline(cin,in);
	for(i=0;i<in.length();i++)detect(i,in);
	sum--; 
	sort(nums,nums+sum+1);
	if(flag==false){cout<<"0";return 0;}
	if(nums[1]!="0")
	{
		if(nums[1][0]=='0')nums[1][0]='\0';
		cout<<nums[1];
		for(i=2;i<=sum;i++)cout<<nums[i];	
	}
	if(nums[1]=="0")
	{
		if(nums[1][0]=='0')nums[1][0]='\0';
		cout<<nums[1];
		if(nums[2]<"10")nums[2][0]='\0';
		cout<<nums[2];
		for(i=3;i<=sum;i++)cout<<nums[i];
	}
    return 0;
}

本地编译输入样例可过,但洛谷上WA了

2022/5/2 01:24
加载中...