POJ2302
简单题。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;
const int maxn = ;
int mat[ maxn ][ maxn ];
bool vis[ maxn ][ maxn ];
bool appear[ ];
struct node{
int x,y;
}num[ ]; void init(){
memset( appear,false,sizeof( appear ) );
memset( vis,false,sizeof( vis ) );
vis[][] = true;
} bool judge(){
int cnt;
for( int i=;i<=;i++ ){
cnt = ;
for( int j=;j<=;j++ ){
if( vis[i][j]==true )
cnt++;
else
break;
}
if( cnt== ) return true;//row
cnt = ;
for( int j=;j<=;j++ ){
if( vis[j][i]==true )
cnt++;
else
break;
}
if( cnt== ) return true;//col
}
cnt = ;
for( int i=;i<=;i++ )
if( vis[i][i]==true )
cnt++;
else
break;
if( cnt== ) return true;//dia
if( vis[][]==true&&vis[][]==true&&vis[][]==true&&vis[][]==true )
return true;
return false;
} int main(){
int n;
scanf("%d",&n);
while( n-- ){
init();
for( int i=;i<=;i++ ){
if( i!= ){
for( int j=;j<=;j++ ){
scanf("%d",&mat[i][j]);
num[ mat[i][j] ].x = i;
num[ mat[i][j] ].y = j;
appear[ mat[i][j] ] = true;
}
}
else{
for( int j=;j<=;j++ ){
scanf("%d",&mat[i][j]);
num[ mat[i][j] ].x = i;
num[ mat[i][j] ].y = j;
appear[ mat[i][j] ] = true;
}
for( int j=;j<=;j++ ){
scanf("%d",&mat[i][j]);
num[ mat[i][j] ].x = i;
num[ mat[i][j] ].y = j;
appear[ mat[i][j] ] = true;
}
}
}
int ans = ;
int in_num;
bool flag = false;
//printf("input\n");
for( int i=;i<=;i++ ){
scanf("%d",&in_num);
if( flag==false ) ans++;
if( appear[ in_num ]==true ){
vis[ num[ in_num ].x ][ num[ in_num ].y ] = true;
if( judge()==true ){
flag=true;
}
}
}
printf("BINGO after %d numbers announced\n",ans);
}
return ;
}
POJ2302的更多相关文章
随机推荐
- Java parseInt_使用此方法得到的原始数据类型的一个特定的字符串
Java parseInt解释加方法示例 使用此方法得到的原始数据类型的一个特定的字符串. parseXxx()是一个静态方法,可以有一个参数或两个 java parseInt ...
- Google 常用镜像收集
1`下面列出几个目前常用的 公共DNS 服务器地址: 名称 DNS 服务器 IP 地址 OpenerDNS 42.120.21.30 百度 DuDNS 180.76.76.76 阿里 AliD ...
- .net链接Oracle数据操作类库
public abstract class OracleHelper { public OracleHelper() { } /// <summary> /// 数据库连接字符串 /// ...
- OC1_汉字拼音转换 练习
// // WordManager.h // OC1_汉字拼音转换 // // Created by zhangxueming on 15/4/27. // Copyright (c) 2015年 z ...
- Java实战之02Hibernate-08二级缓存
十四.Hibernate的二级缓存 1.Hibernate的缓存结构 2.由于二级缓存被多线程共享,就必须有一定的事务访问策略 非严格读写:READ UNCOMMITTED 读写型:READ COMM ...
- Pascal Language: Recommended Materials
Recommended materials: http://www.marcocantu.com/epascal/
- linux shell编程学习笔记(一)---通配符,元字符
linux通配符: 通配符是由shell处理的(不是由所涉及到命令语句处理的,其实我们在shell各个命令中也没有发现有这些通配符介绍), 它只会出现在 命令的“参数”里(它不用在 命令名称里, 也不 ...
- 小shell函数
whoport() { port=$1 echo "------ who occupied port: $port ----------" info=$(sudo lsof ...
- 怎么用程序获取远程url执行后的图片地址
远程URL:https://121.199.16.229:8890/generate.cgi?rbid=1001&esn=22021434025005&pic=png&coun ...
- PHP上传文件大小限制问题 post_max_size对大小的影响及解决方法
今天在操作php上传的时候发现了一个问题,就是当php脚步上传的文件大小超过php.ini中post_max_size的限制的时候页面不会给出提醒,文件也上传失败,这个问题感觉应该算是一个另类,今天跟 ...