本题第一个考点就是利用string[ ]和int[ ]实现,字符串与数字转换

第二个考点就是贪心
排在前的越小越好

#include <bits/stdc++.h>
using namespace std;

string s[30]={"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 num[30]={1,4,9,16,25,36,49,64,81,0,21,44,69,96,25,56,89,24,61,0,1,4,1,1,4,9};
int flag,st[10],cnt;
string a;

int main(int argc, char** argv) {
	for(int l=0;l<6;l++){
		cin>>a;
		for(int i=0;i<26;i++){
			if(a==s[i]) {
				st[cnt++]=num[i];
				break;
			}
		}
	}
	cin>>a;
	sort(st,st+cnt);
	for(int i=0;i<6;i++){
		if(!flag){
			printf("%d",st[i]);flag=1;
		}else if(st[i]!=0){
			printf("%02d",st[i]);
			
		}
	}
	return 0;
}