0
已解决
何冯成
中级光能
中级光能
20分代码如下:
#include<iostream>
#include<cstdio> //文件操作的头文件
#include<cmath>
#include<algorithm>
using namespace std;
bool J(string x){
for(int i=0;i<x.size();i++){
if(x[i]!=x[x.size()-i]) return false;
}
return true;
}
int main(){
//freopen("game.in","r",stdin);
//freopen("game.out","w",stdout);
int n,x;
string s;
cin>>n;
getchar();
for(int i=1;i<=n;i++){
getline(cin,s);
if(J(s)) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
//fclose(stdin);
//fclose(stdout);
return 0;
}
各位大佬找错
何冯成在2020-07-09 12:59:08追加了内容
@徐子玄 @龙舟 @陆麟瑞
0
已采纳
徐子玄
初级光能
初级光能
这题我也只有40,代码如下:
#include <bits/stdc++.h>
using namespace std;
int main() {
string a[11000],b[11000];
int k=0,cnt=0,n;
cin>>n;
for(int x=1;x<=n;x++) {
k=0;
while(cin>>a[k]) {
b[k]=a[k];
k++;
}
for(int i=0;i<k/2;i++)
swap(b[i],b[k-i-1]);
for(int i=0;i<k;i++)
if(a[i]==b[i])
cnt++;
if(cnt==k) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
cnt=0;
}
return 0;
}
徐子玄在2020-07-09 13:09:03追加了内容
样例输出有问题
如abc def xyz def abc 反过来依然是: abc def xyz def abc 则该句子就是回文单词句式。所以应输出Yes
样例输入 Sample Input
2
abc def xyz def abc
ac bc cb ac
样例输出 Sample Output
No //他是No
Yes
0
周明轩
资深光能
资深光能
错误: 你写的是字母回文,而题目要求的是单词回文。
正确的是这样的:
int flag=1;
int cnt=0;
int front=0;
s+=" ";
int len=s.size();
for(int j=0;j<len;j++){
if(s[j]==' '){
string s1,s2;
s1=s.substr(front,cnt);
s2=s.substr(len-1-front-cnt,cnt);
//cout<<s1<<' '<<s2<<endl;
if(s1!=s2){
cout<<"Yes"<<endl;
flag=0;
break;
}
front=j+1;
cnt=0;
}
else{
cnt++;
}
}
if(flag){
cout<<"No"<<endl;
}
望采纳
0