码迷,mamicode.com
首页 > 其他好文 > 详细

4月8日

时间:2016-04-08 11:32:49      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

poj3194

题意:这题的题意比较难理解,我理解了半天,题意是给定一个n*n的矩阵,矩阵里面有n*n个元素,问每个元素是否都能组成n连块,若可以输出good,否则输出wrong,输出比较奇怪,是给的是每个点的两个坐标,这个点的值为所在行号

分析:读懂题以后这题不难,直接dfs,统计连块的个数即可

技术分享
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <string>
 5 #include <vector>
 6 #include <algorithm>
 7 #include <set>
 8 #include <map>
 9 #include <bitset>
10 #include <cmath>
11 #include <queue>
12 #include <stack>
13 using namespace std;
14 const int maxn=120;
15 int mp[maxn][maxn];
16 int vis[maxn][maxn];
17 int n;
18 int cnt;
19 int dx[]={-1,1,0,0},dy[]={0,0,1,-1};
20 void dfs(int x,int y,int k)
21 {
22     vis[x][y]=1;
23     for(int i=0;i<4;i++)
24     {
25         int nx=x+dx[i];
26         int ny=y+dy[i];
27         if(nx>=0&&nx<n&&ny>=0&&ny<n&&!vis[nx][ny]){
28             if(mp[nx][ny]==k)
29             {
30                 cnt++;
31                 dfs(nx,ny,k);
32             }
33         }
34     }
35 }
36 int main()
37 {
38     while(cin>>n)
39     {
40         if(n==0)  break;
41         memset(mp,0,sizeof(mp));
42         for(int i=1;i<n;i++)
43             for(int j=0;j<n;j++)
44             {
45                 int x,y;
46                 scanf("%d%d",&x,&y);
47                 mp[x-1][y-1]=i;
48             }
49         memset(vis,0,sizeof(vis));
50         int num=0;
51         for(int k=1;k<n;k++)
52         {
53             bool flag=false;
54             for(int i=0;i<n;i++)
55             {
56                 for(int j=0;j<n;j++)
57                 {
58                     cnt=1;
59                     if(!vis[i][j]&&mp[i][j]==k)
60                     {
61                          dfs(i,j,k);
62                          if(cnt==n) num++;
63                     }
64                 }
65             }
66         }
67         if(num==n-1) cout<<"good"<<endl;
68         else cout<<"wrong"<<endl;
69     }
70     return 0;
71 }
View Code

 

4月8日

标签:

原文地址:http://www.cnblogs.com/wolf940509/p/5367085.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!