codeforces div2 round#231 A

发布时间:2016-12-9 12:31:16 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"codeforces div2 round#231 A",主要涉及到codeforces div2 round#231 A方面的内容,对于codeforces div2 round#231 A感兴趣的同学可以参考一下。

    很水的一道题目。在输入时计算出对应的a,b,c的大小。然后分四种情况讨论。 如果a+b=c,直接输出字符串。 如果a+b-2=c,将a和b中比1大的那个移到右边去。这也是这道题目唯一的cha点。。。 如果a+b+2=c,将c移一个到a,b中任何一个。 否则输出impossible。 #include "cstdio" #include "cstring" #include "cmath" #include "algorithm" using namespace std; char s[1111]; int main(){ scanf("%s",s); int len=(int)strlen(s); int a=0,b=0,c=0; int flag1,flag2; for(int i=0;i<len;i++) { if(s[i]=='+') { flag1=i; break; } else{ if(s[i]=='|') { a++; } } } for(int i=flag1+1;i<len;i++){ if(s[i]=='='){ flag2=i; break; }else{ if(s[i]=='|'){ b++; } } } for(int i=flag2+1;i<len;i++){ if(s[i]=='|') c++; } if((a+b)==c){ puts(s); return 0; } if((a+b-1)==(c+1)){ if(a>1){ for(int i=1;i<a;i++) printf("|"); printf("+"); for(int i=1;i<=b;i++) printf("|"); printf("=");} if(a==1){ for(int i=1;i<=a;i++) printf("|"); printf("+"); for(int i=1;i<b;i++) printf("|"); printf("="); } for(int i=1;i<=c+1;i++) printf("|"); printf("\n"); return 0; } if((a+1+b)==(c-1)){ for(int i=1;i<=a+1;i++) printf("|"); printf("+"); for(int i=1;i<=b;i++) printf("|"); printf("="); for(int i=1;i<c;i++) printf("|"); printf("\n"); return 0; } printf("Impossible\n"); return 0; }

上一篇:Java应用级产品开发平台APDPlat
下一篇:Delphi的format使用总结

相关文章

相关评论