记录编号 278532 评测结果 AAAAAAAAAA
题目名称 [暑假培训2012] 单词缩写 最终得分 100
用户昵称 Gravatar胡嘉兴 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2016-07-08 10:31:55 内存使用 0.31 MiB
显示代码纯文本
#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
#include <cctype>
#include <vector>

using namespace std;

#define N 1017

bool check(char c[N], int i, int j)
{
	if(j - i + 1 < 3)
	{
		return 0;
	}
	if(!(strcmp(c, "AND"))||!(strcmp(c, "FOR"))||!(strcmp(c, "THE")))
	{
		return 0;
	}
	return 1;
}
int main()
{
	
	int t;	
	freopen("abbreviation.in", "r+", stdin);
	freopen("abbreviation.out", "w+", stdout);
	
	scanf("%d ", &t);
	
	while(t--)
	{
		int i;
		char a[N] = {0};
		vector<char>s(1, 0);
		gets(a);
		for(i = 0; a[i] != '\0'; i++)
		{
			if(isalpha(a[i])||a[i] == ' ')
			{
				s.push_back(toupper(a[i]));
			}
		}
		for(i = 1; i < s.size(); i++)
		{
			if(isalpha(s[i]))
			{
				int j;
				char c[N] = {0};
				for(j = i; s[j] != ' '&&j < s.size(); j++)
				{
					c[j - i] = s[j];
				}
				c[j] = '\0';
				if(check(c, i, j - 1))
				{
					
					printf("%c", s[i]);
					
				}
				i = j;
			}
		}
		
		printf("\n");
		
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}