Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
来个暴力代码。呵呵,大神飘过,勿笑。// I'm lanjiangzhou //C #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <math.h> #include <time.h> //C++ #include <iostream> #include <algorithm> #include <cstdio> #include <cstdlib> #include <cmath> #include <cstring> #include <cctype> #include <stack> #include <string> #include <list> #include <queue> #include <map> #include <vector> #include <deque> #include <set> using namespace std; //*************************OUTPUT************************* #ifdef WIN32 #define INT64 "%I64d" #define UINT64 "%I64u" #else #define INT64 "%lld" #define UINT64 "%llu" #endif //**************************CONSTANT*********************** #define INF 0x3f3f3f3f // aply for the memory of the stack //#pragma comment (linker, "/STACK:1024000000,1024000000") //end const int maxn =110; int a[maxn][maxn]; int main() { int t; scanf("%d",&t); while(t--){ int l=1000,r=1000; memset(a,0,sizeof(a)); int i,j; for(i=0;i<=30;i++) { for(j=0;j<=30;j++) { a[i][j]=3; } } int flag1=0,flag2=0; for(i=1;i<=19;i++){ for( j=1;j<=19;j++){ scanf("%d",&a[i][j]); } } //同一行 for( i=1;i<=19;i++){ for( j=1;j<=19;j++){ if(a[i][j]==1&&a[i][j+1]==1&&a[i][j+2]==1&&a[i][j+3]==1&&a[i][j+4]==1&&a[i][j+5]!=1&&a[i][j-1]!=1){ if(i<l){ l=i; r=j; flag1=1; } } else if(a[i][j]==2&&a[i][j+1]==2&&a[i][j+2]==2&&a[i][j+3]==2&&a[i][j+4]==2&&a[i][j+5]!=2&&a[i][j-1]!=2){ if(i<l){ l=i; r=j; flag2=1; } } } } //同一列 for( i=1;i<=19;i++){ for( j=1;j<=19;j++){ if(a[i][j]==1&&a[i+1][j]==1&&a[i+2][j]==1&&a[i+3][j]==1&&a[i+4][j]==1&&a[i+5][j]!=1&&a[i-1][j]!=1){ if(i<l){ l=i; r=j; flag1=1; } } else if(a[i][j]==2&&a[i+1][j]==2&&a[i+2][j]==2&&a[i+3][j]==2&&a[i+4][j]==2&&a[i+5][j]!=2&&a[i-1][j]!=2){ if(i<l){ l=i; r=j; flag2=1; } } } } //flag=0; //副对角线 for(i=1;i<=19;i++){ for( j=1;j<=19;j++){ if(a[i][j]==1&&a[i+1][j+1]==1&&a[i+2][j+2]==1&&a[i+3][j+3]==1&&a[i+4][j+4]==1&&a[i+5][j+5]!=1&&a[i-1][j-1]!=1){ if(i<l){ l=i; r=j; flag1=1; } } else if(a[i][j]==2&&a[i+1][j+1]==2&&a[i+2][j+2]==2&&a[i+3][j+3]==2&&a[i+4][j+4]==2&&a[i+5][j+5]!=2&&a[i-1][j-1]!=2){ if(i<l){ l=i; r=j; flag2=1; } } } } //flag=0; //主对角线 for( i=19;i>=1;i--){ for( j=1;j<=19;j++){ if(a[i][j]==1&&a[i-1][j+1]==1&&a[i-2][j+2]==1&&a[i-3][j+3]==1&&a[i-4][j+4]==1&&a[i-5][j+5]!=1&&a[i+1][j-1]!=1){ if(i<l){ l=i; r=j; flag1=1; } } else if(a[i][j]==2&&a[i-1][j+1]==2&&a[i-2][j+2]==2&&a[i-3][j+3]==2&&a[i-4][j+4]==2&&a[i-5][j+5]!=2&&a[i+1][j-1]!=2){ if(i<l){ l=i; r=j; flag2=1; } } } } if(flag1==0&&flag2==0){ printf("0\n"); } else if(flag1){ printf("1\n"); printf("%d %d\n",l,r); } else if(flag2){ printf("2\n"); printf("%d %d\n",l,r); } } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator