2 条题解
-
4
/* 9个操作,每个操作最多做3次 因为超过3次之后就回到原位置了。 所以可以9个for循环枚举每个操作 设置i[10]数组,i[1]~i[9]代表1到9这个操作 A始终受操作1,2,4的影响 时钟初始保存在数组mp[9]里 那么mp[1]的变化就是mp[1]+i[1]+i[2]+i[4]在对4取余 其余时钟变化也可以顺势表示出来 全部加起来求和如果等于0就全部归位了 全部等于0只能是9个0加起来没有别的情况因为不存在负数 */ #include<bits/stdc++.h> using namespace std; int n,mp[10],i[10]; int main() { for(int i=1;i<=9;i++) { cin>>mp[i]; } for(i[1]=0;i[1]<4;i[1]++) { for(i[2]=0;i[2]<4;i[2]++) { for(i[3]=0;i[3]<4;i[3]++) { for(i[4]=0;i[4]<4;i[4]++) { for(i[5]=0;i[5]<4;i[5]++) { for(i[6]=0;i[6]<4;i[6]++) { for(i[7]=0;i[7]<4;i[7]++) { for(i[8]=0;i[8]<4;i[8]++) { for(i[9]=0;i[9]<4;i[9]++) { int sum=0; sum+=(mp[1]+i[1]+i[2]+i[4])%4;//时钟A受操作1和2和4的影响其余同理 sum+=(mp[2]+i[1]+i[2]+i[3]+i[5])%4; sum+=(mp[3]+i[2]+i[3]+i[6])%4; sum+=(mp[4]+i[1]+i[4]+i[5]+i[7])%4; sum+=(mp[5]+i[1]+i[3]+i[5]+i[7]+i[9])%4; sum+=(mp[6]+i[3]+i[5]+i[6]+i[9])%4; sum+=(mp[7]+i[4]+i[7]+i[8])%4; sum+=(mp[8]+i[5]+i[7]+i[8]+i[9])%4; sum+=(mp[9]+i[6]+i[8]+i[9])%4; if(sum==0) { for(int x=1;x<=9;x++) { while(i[x]--) cout<<x<<" "; } return 0; } } } } } } } } } } return 0; }
-
-8
写题解请注意 鼓励大家写题解,但注意题解格式。
题解一定要有思路解析或代码注释,能否让别人理解你的思路
也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。
给代码两端加上这个会舒服一些
```cpp
你的代码
```
</span>
这个点在键盘的左上角tab上面那个键,注意切换输入法
#include<iostream> using namespace std; int main() { int n; cin>>n;//这是一个注释 return 0; }
请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。
抄袭题解一经发现直接取消成绩。
题解被删除的可能
- 代码不符合格式规范
- 没有思路讲解或者没有注释,
- 无意义的题解
大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。
- 1
信息
- ID
- 118
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 63
- 已通过
- 41
- 上传者