为啥不一致,明明一样
答案错误:您提交程序的实际输出结果与你的期望输出不一致
自测输入
预期输出 dijkstra2************6
实际输出 dijkstra2************6
。。。。。。我点对比他又提示结果正确,提交后0%。。。。。。
之前也遇到过这种情况
附件:
#include<bits/stdc++.h>using namespace std;string str(200,0);int p1,p2,p3;void print(char c,char d){if(c-d<0){char t=c;while(t<d){for(int i=0;i<p2;i++){cout<<t;}t+=1;}}else if(c-d>0){char t=c;while(t>d){for(int i=0;i<p2;i++){cout<<t;}t-=1;}}}int main(){cin>>p1>>p2>>p3;cin>>str;char c;for(int i=0;i<=str.size()-1;i++){while(i<str.size()&&str[i]!='-'){cout<<str[i];i++;}
//p3=1; if(i>0&&i<str.size()-1&&str[i-1]<str[i+1]){ if(p3==1){ if(p1==1){ c=str[i-1]+1; print(c,str[i+1]); }else if(p1==2){ c=(str[i-1]-'a'+'A'+1); print(c,str[i+1]-'a'+'A'); }else if(p1==3){ c=str[i-1]+1; while(c<str[i+1]){ for(int i=0;i<p2;i++){ cout<<'*'; } c+=1; } } //p3=2; }else if(p3==2){ if(p1==1){ c=str[i+1]-1; print(c,str[i+1]); }else if(p1==2){ c=(str[i+1]-'a'+'A'-1); print(c,str[i-1]-'a'+'A'); }else if(p1==3){ c=str[i-1]+1; while(c<str[i+1]){ for(int i=0;i<p2;i++){ cout<<'*'; } c+=1; } } } } else cout<<str[i]; //printf("\n\tstr.size()=%d,i=%d\n",str.size(),i); } return 0;
}
不是题解,嘴下留情