设计公司网站应该包括的信息,杭州做公司网站哪家好,广东智能网站建设配件,中国国际进出口博览会2022题意#xff1a;给一个n*m(100)的图#xff0c;图中0表示台灯#xff0c;1表示空地#xff0c;以台灯和墙作为边界#xff0c;问能否使用k种使得联通的线段上没有重复的颜色 分析#xff1a;只要连续的空地不超过k个就必然存在一个解#xff0c;可以选择如下构造给一个n*m(100)的图图中0表示台灯1表示空地以台灯和墙作为边界问能否使用k种使得联通的线段上没有重复的颜色 分析只要连续的空地不超过k个就必然存在一个解可以选择如下构造假设n5,m5,k3 1 2 3 1 2 2 3 1 2 3 3 1 2 3 1 1 2 3 1 2 2 3 1 2 3 这样把灯的位置都换为0如果检测到没有连续的超过k的线段那么这就是一个可行解 1 #includebits/stdc.h2 using namespace std;3 const int maxn1e25;4 int g[maxn][maxn],res[maxn][maxn];5 int t,n,m,k;6 7 void init(){8 for(int i1;in;i){9 res[i][1](res[i-1][1]1)%k;
10 for(int j2;jm;j)res[i][j](res[i][j-1]1)%k;
11 }
12 }
13
14 void print(int x,int y){
15 if(!g[x][y])cout0;
16 else coutres[x][y]1;
17 }
18
19 int main(){
20 int t;cint;
21 while(t--){
22 cinnmk;init();
23
24 for(int i1;in;i)for(int j1;jm;j){
25 cing[i][j];
26 if(!g[i][j])res[i][j]0;
27 }
28
29 bool flag1;
30
31 for(int i1;in;i){
32 int j1;
33 for(;jm;j){
34 int cnt0;
35 while(jmg[i][j])cnt,j;
36 if(cntk){flag0;break;}
37 }
38 }
39
40 for(int i1;im;i){
41 int j1;
42 for(;jn;j){
43 int cnt0;
44 while(jng[j][i])cnt,j;
45 if(cntk){flag0;break;}
46 }
47 }
48 if(!flag){puts(NO);continue;}
49 puts(YES);
50
51 for(int i1;in;i){
52 print(i,1);
53 for(int j2;jm;j)cout ,print(i,j);
54 coutendl;
55 }
56 }
57 return 0;
58 } 转载于:https://www.cnblogs.com/jihe/p/6673240.html