1 条题解
-
0
自动搬运
来自洛谷,原作者为

Eden_star
原uid:306647306||QQ:1643566903||魔↑术↓技↑巧↓||無駄搬运于
2025-08-24 23:16:24,当前版本为作者最后更新于2025-05-21 16:58:56,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
思路
这道题说是可以用 ,但是这两个数却并不能使用。因为不能只使用这两个数字中的一种拼成一个合法的礼物。
所以尝试构造出一个合法的单位并且可以作为一个小单元的方格。不难找出这种情况。
当行列有不是 的倍数时
的情况就是把 的情况竖过来。
代码
这道题的代码简直是又臭又长
#include<bits/stdc++.h> using namespace std; const int N=205; int n,m,xn,xm; int dt[205]; int gz[5][5]; int main(){ cin>>n>>m; gz[1][1]=gz[1][2]=gz[2][1]=gz[2][2]=2; gz[1][3]=gz[2][3]=gz[3][1]=gz[3][2]=1; gz[3][3]=0; if(n==1&&m==1){ cout<<"0\n"; return 0; } if(n<3){ if(n==1){ if(m%3==0){ for(int i=1;i<=m;i++){ cout<<gz[3][(i+3+m%3-1)%3+1]<<" "; } } if(m%3==1){ for(int i=1;i<=m;i++){ cout<<gz[3][(i+3+m%3)%3+1]<<" "; } } if(m%3==2){ for(int i=1;i<=m;i++){ cout<<gz[3][(i+3+m%3)%3+1]<<" "; } } } if(n==2){ if(m%3==0){ for(int i=1;i<=m;i++){ cout<<gz[1][(i+3+m%3-1)%3+1]<<" "; } cout<<"\n"; for(int i=1;i<=m;i++){ cout<<gz[1][(i+3+m%3-1)%3+1]<<" "; } } if(m%3==1){ for(int i=1;i<=m;i++){ cout<<gz[1][(i+3+m%3)%3+1]<<" "; } cout<<"\n"; for(int i=1;i<=m;i++){ cout<<gz[1][(i+3+m%3)%3+1]<<" "; } } if(m%3==2){ for(int i=1;i<=m;i++){ cout<<gz[1][(i+3+m%3)%3+1]<<" "; } cout<<"\n"; for(int i=1;i<=m;i++){ cout<<gz[1][(i+3+m%3)%3+1]<<" "; } } } return 0; } if(m<3){ if(m==1){ if(n%3==0){ for(int i=1;i<=n;i++){ cout<<gz[3][(i+3+n%3-1)%3+1]<<"\n"; } } if(n%3==1){ for(int i=1;i<=n;i++){ cout<<gz[3][(i+3+n%3)%3+1]<<"\n"; } } if(n%3==2){ for(int i=1;i<=n;i++){ cout<<gz[3][(i+3+n%3)%3+1]<<"\n"; } } } if(m==2){ if(n%3==0){ for(int i=1;i<=n;i++){ cout<<gz[1][(i+3+n%3+1)%3+1]<<" "<<gz[1][(i+3+n%3+1)%3+1]<<"\n"; } } if(n%3==1){ for(int i=1;i<=n;i++){ cout<<gz[1][(i+3+n%3)%3+1]<<" "<<gz[1][(i+3+n%3)%3+1]<<"\n"; } } if(n%3==2){ for(int i=1;i<=n;i++){ cout<<gz[1][(i+3+n%3)%3+1]<<" "<<gz[1][(i+3+n%3)%3+1]<<"\n"; } } } return 0; } if(n%3==0){ if(m%3==0){ for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cout<<gz[(i-1)%3+1][(j-1)%3+1]<<" "; } cout<<"\n"; } } if(m%3==1){ for(int i=1;i<=n;i++){ for(int j=1;j<=m-1;j++){ if(j==1) cout<<gz[3][(i-1)%3+1]<<" "; cout<<gz[(i-1)%3+1][(j-1)%3+1]<<" "; } cout<<"\n"; } } if(m%3==2){ for(int i=1;i<=n;i++){ for(int j=1;j<=m-2;j++){ cout<<gz[(i-1)%3+1][(j-1)%3+1]<<" "; if(j==m-2) cout<<gz[1][(i-1)%3+1]<<" "<<gz[1][(i-1)%3+1]; } cout<<"\n"; } } } if(n%3==1){ if(m%3==0){ for(int i=1;i<=m;i++){ cout<<gz[3][(i-1)%3+1]<<" "; }cout<<"\n"; for(int i=1;i<=n-1;i++){ for(int j=1;j<=m;j++){ cout<<gz[(i-1)%3+1][(j-1)%3+1]<<" "; } cout<<"\n"; } } if(m%3==1){ for(int i=1;i<=m-1;i++){ if(i==1) cout<<gz[3][(i+1)%3+1]<<" "; cout<<gz[3][(i-1)%3+1]<<" "; }cout<<"\n"; for(int i=1;i<=n-1;i++){ for(int j=1;j<=m-1;j++){ if(j==1) cout<<gz[3][(i-1)%3+1]<<" "; cout<<gz[(i-1)%3+1][(j-1)%3+1]<<" "; } cout<<"\n"; } } if(m%3==2){ for(int i=1;i<=m-2;i++){ cout<<gz[3][(i-1)%3+1]<<" "; if(i==m-2) cout<<gz[1][(i-1)%3+1]<<" "<<gz[1][(i-1)%3+1]; }cout<<"\n"; for(int i=1;i<=n-1;i++){ for(int j=1;j<=m-2;j++){ cout<<gz[(i-1)%3+1][(j-1)%3+1]<<" "; if(j==m-2) cout<<gz[1][(i-1)%3+1]<<" "<<gz[1][(i-1)%3+1]; } cout<<"\n"; } } } if(n%3==2){ if(m%3==0){ for(int i=1;i<=n-2;i++){ for(int j=1;j<=m;j++){ cout<<gz[(i-1)%3+1][(j-1)%3+1]<<" "; } cout<<"\n"; } for(int i=1;i<=m;i++){ cout<<gz[1][(i-1)%3+1]<<" "; }cout<<"\n"; for(int i=1;i<=m;i++){ cout<<gz[2][(i-1)%3+1]<<" "; }cout<<"\n"; } if(m%3==1){ for(int i=1;i<=n-2;i++){ for(int j=1;j<=m-1;j++){ if(j==1) cout<<gz[3][(i-1)%3+1]<<" "; cout<<gz[(i-1)%3+1][(j-1)%3+1]<<" "; } cout<<"\n"; } for(int i=1;i<=m-1;i++){ if(i==1) cout<<gz[3][(i-1)%3+1]<<" "; cout<<gz[1][(i-1)%3+1]<<" "; }cout<<"\n"; for(int i=1;i<=m-1;i++){ if(i==1) cout<<gz[3][(i-1)%3+1]<<" "; cout<<gz[2][(i-1)%3+1]<<" "; }cout<<"\n"; } if(m%3==2){ for(int i=1;i<=n-2;i++){ for(int j=1;j<=m-2;j++){ cout<<gz[(i-1)%3+1][(j-1)%3+1]<<" "; if(j==m-2) cout<<gz[1][(i-1)%3+1]<<" "<<gz[1][(i-1)%3+1]; } cout<<"\n"; } for(int i=1;i<=m-2;i++){ cout<<gz[1][(i-1)%3+1]<<" "; if(i==m-2) cout<<gz[1][(i+1)%3+1]<<" "<<gz[1][(i+1)%3+1]; }cout<<"\n"; for(int i=1;i<=m-2;i++){ cout<<gz[2][(i-1)%3+1]<<" "; if(i==m-2) cout<<gz[1][(i+1)%3+1]<<" "<<gz[1][(i+1)%3+1]; }cout<<"\n"; } } }
- 1
信息
- ID
- 12316
- 时间
- 500ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者


