4 條題解
-
1
#include <iostream> #include <algorithm> #include <string> using namespace std; int main() { string str1; getline(cin, str1); string str2 = str1; reverse(str2.begin(),str2.end()); if(str1.size() == 0) cout << "YES"; else if(str1.size() % 2 == 0) { if(str1 == str2) cout << "YES"; else cout << "NO"; } else cout << "NO"; return 0; } -
1
#include <iostream> #include <string> using namespace std; int main() { string str; getline(cin, str); if (str.length() % 2 == 1) { cout << "NO" << endl; return 0; } int left = 0; int right = str.length() - 1; while (left < right) { if (str[left] != str[right]) { cout << "NO" << endl; return 0; } left++; right--; } cout << "YES" << endl; return 0; } -
1
这一题的陷阱在于出题人的超绝语文功底。
题目翻译:给你一个字符串,要求其长度为偶数(1:1),并且是回文串。
你莫名其妙说一个1:1,谁知道你是什么意思?
#include<string.h> #include<stdlib.h> #include<math.h> int main(){ char a[101]; int i; int shi=1; fgets(a,sizeof(a),stdin); int len; len=strlen(a); if(len>0&&a[len-1]=='\n'){ a[len-1]='\0'; len--; } if(len==0){ printf("YES"); return 0; } if(len%2!=0){ printf("NO"); return 0; } for(i=0;i<len/2;i++){ if(a[i]!=a[len-1-i]){ shi=0; break; } } if(shi==0){ printf("NO"); } else if(shi==1){ printf("YES"); } return 0; }
- 1
資訊
- ID
- 37
- 時間
- 1000ms
- 記憶體
- 512MiB
- 難度
- 2
- 标签
- 遞交數
- 1174
- 已通過
- 140
- 上傳者