2 条题解
-
0
P1070题解
思路
我第一眼看到题目,什么鬼!!!
第二眼,这不就是模拟吗?
可以先从小到大排序,再把数目较小的兔兔合并
我真是个天才,哈哈哈哈......
#include <bits/stdc++.h> using namespace std; int x,y,z,ans; int main() { while(cin>>x>>y>>z) { if((x!=0&&y==0&&z==0)||(x==0&&y!=0&&z==0)||(x==0&&y==0&&z!=0))cout<<"QAQ"<<endl; else { ans=0; while(1) { if(x>y)swap(x,y); if(x>z)swap(x,z); if(y>z)swap(y,z); if(x==0&&y==0) break; ans++; if(x!=0)x--,y--,z++; else x++,y--,z--; } cout<<ans<<endl; } } return 0; }
20分嘤嘤嘤......
经过我10000ms的发育,我有了一个天才般的想法
可以将两个相同数目的兔兔一直合并到0
搜嘎嘎嘎嘎嘎......
#include <bits/stdc++.h> using namespace std; int x,y,z,ans; int main() { while(cin>>x>>y>>z) { if((x!=0&&y==0&&z==0)||(x==0&&y!=0&&z==0)||(x==0&&y==0&&z!=0))cout<<"QAQ"<<endl; else { ans=0; while(1) { if(x>y)swap(x,y); if(x>z)swap(x,z); if(y>z)swap(y,z); if(x==0&&y==0) break; ans++; if(x==y)x--,y--,z++; else if(y==z)x++,y--,z--; else if(x!=0)x--,y--,z++; else x++,y--,z--; } cout<<ans<<endl; } } return 0; }
30分嘤嘤嘤嘤嘤嘤......
又经过我10000ms的发育,我又有了一个天才般的想法
CAN倒序排列
AC代码:
#include <bits/stdc++.h> using namespace std; int x,y,z,ans; int main() { while(cin>>x>>y>>z) { if((x!=0&&y==0&&z==0)||(x==0&&y!=0&&z==0)||(x==0&&y==0&&z!=0))cout<<"QAQ"<<endl; else { ans=0; while(1) { if(x<y)swap(x,y); if(x<z)swap(x,z); if(y<z)swap(y,z); if(z==0&&y==0) break; ans++; if(x==y)x--,y--,z++; else if(y==z)x++,y--,z--; else if(y!=0)x--,y--,z++; else x++,y--,z--; } cout<<ans<<endl; } } return 0; }
哈哈哈哈哈哈哈......
双经过我10000ms的发育,我双有了一个天才般的想法
找规律
从小到大排,前两个数的差如果是奇数,则输出最后一个数,否则输出第二个数
AC代码2号:
#include <bits/stdc++.h> using namespace std; int x,y,z; int main() { while(cin>>x>>y>>z) { if((x!=0&&y==0&&z==0)||(x==0&&y!=0&&z==0)||(x==0&&y==0&&z!=0))cout<<"QAQ"<<endl; else { if(x>y)swap(x,y); if(x>z)swap(x,z); if(y>z)swap(y,z); if((y-x)%2==0)cout<<y<<endl; else cout<<z<<endl; } } return 0; }
哈哈哈哈哈哈哈哈哈哈哈......
小提示:
要用while读入
信息
- ID
- 101
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 177
- 已通过
- 33
- 上传者