首页 > 代码库 > 2016CCPC东北地区大学生程序设计竞赛 - 重现赛 1005

2016CCPC东北地区大学生程序设计竞赛 - 重现赛 1005

链接http://acm.hdu.edu.cn/showproblem.php?pid=5926

题意:给我们一个矩阵,问你根据连连看的玩法可以消去其中的元素

解法:连连看怎么玩,就怎么写,别忘记边界

#include<stdio.h>//#include<bits/stdc++.h>#include<string.h>#include<iostream>#include<math.h>#include<sstream>#include<set>#include<queue>#include<map>#include<vector>#include<algorithm>#include<limits.h>#define inf 0x3fffffff#define INF 0x3f3f3f3f#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define LL long long#define ULL unsigned long longusing namespace std;int t;int a[100][100];int main(){    cin>>t;    for(int i=1;i<=t;i++)    {        int flag=0;        int n,m;        cin>>n>>m;        for(int i=1;i<=n;i++)        {            for(int j=1;j<=m;j++)            {                cin>>a[i][j];            }        }        for(int i=1;i<=n;i++)        {            for(int j=1;j<=m;j++)            {                if(i+1<=n&&a[i+1][j]==a[i][j])                {                    flag=1;                    break;                }                if(j+1<=n&&a[i][j]==a[i][j+1])                {                   // cout<<"A"<<endl;                    flag=1;                    break;                }            }        }        for(int i=1;i<=n;i++)        {            for(int j=1; j<=m; j++)            {                if(i!=j)                {                    if(a[1][i]==a[1][j]||a[n][i]==a[n][j])                    {                    //    cout<<a[0][i]<<" "<<a[0][j]<<endl;                      //  cout<<"A"<<endl;                        flag=1;                        break;                    }                    if(a[i][1]==a[j][1]||a[i][m]==a[j][m])                    {                        flag=1;                        break;                    }                }            }        }        if(flag)        {            printf("Case #%d: Yes\n",i );        }        else        {             printf("Case #%d: No\n",i );        }    }    return 0;}

  

2016CCPC东北地区大学生程序设计竞赛 - 重现赛 1005