记录编号 40612 评测结果 AAAAAAAAAA
题目名称 [暑假培训2012] 单词缩写 最终得分 100
用户昵称 GravatarCloud 是否通过 通过
代码语言 C++ 运行时间 0.005 s
提交时间 2012-07-18 14:58:02 内存使用 0.31 MiB
显示代码纯文本
  1. #include<fstream>
  2. #include<cstring>
  3. #include<vector>
  4. #include<iostream>
  5. using namespace std;
  6. char st[1001];
  7. int main(void)
  8. {
  9. ifstream fin("abbreviation.in");
  10. ofstream fout("abbreviation.out");
  11. int n,m;
  12. bool f;
  13. int i,j;
  14. vector<int> v;
  15. fin>>n;
  16. fin.getline(st,100);
  17. for(;n;n--)
  18. {
  19. v.clear();
  20. fin.getline(st,1000);
  21. m=strlen(st);
  22. for(i=0;i<=m;i++)
  23. {
  24. if(st[i]>='a'&&st[i]<='z')
  25. st[i]=st[i]-'a'+'A';
  26. if(!(st[i]>='A'&&st[i]<='Z')&&st[i]!=' ')
  27. st[i]=' ';
  28. if(i==0||(i>0&&st[i-1]==' '))
  29. {
  30. j=i;
  31. f=1;
  32. if(j+3>m)f=0;
  33. for(;i<j+3;i++)
  34. {
  35. if(st[i]>='a'&&st[i]<='z')
  36. st[i]=st[i]-'a'+'A';
  37. if(!(st[i]>='A'&&st[i]<='Z')&&st[i]!=' ')
  38. st[i]=' ';
  39. if(st[i]==' ')
  40. {
  41. f=0;
  42. break;
  43. }
  44. }
  45. if(f)
  46. {
  47. if(st[j]=='A'&&st[j+1]=='N'&&st[j+2]=='D'&&st[j+3]==' ')
  48. f=0;
  49. if(st[j]=='T'&&st[j+1]=='H'&&st[j+2]=='E'&&st[j+3]==' '&&f)
  50. f=0;
  51. if(st[j]=='F'&&st[j+1]=='O'&&st[j+2]=='R'&&st[j+3]==' '&&f)
  52. f=0;
  53. if(f)
  54. v.push_back(j);
  55. }
  56. }
  57. }
  58. for(i=0;i<v.size();i++)
  59. fout<<st[v[i]];
  60. fout<<endl;
  61. }
  62. fin.close();
  63. fout.close();
  64. return 0;
  65. }