zoj 1008 Gnome Tetravex
开放式存储阵列为每平方米有几个,否则,超时……
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
int mp[30][5],n,flag,p[10][10],sum[30],cnt;
int check(int k,int i)
{
int x,y,f=1;
x=k/n;
y=k%n;
if(x==0&&y==0) return 1;
if(x-1>=0)
{
if(mp[i][1]!=mp[p[x-1][y]][3]) f=0;
}
if(y-1>=0)
{
if(mp[i][4]!=mp[p[x][y-1]][2]) f=0;
}
if(f) return 1;
else return 0;
}
void dfs(int k)
{
int i,j,x,y;
if(k==n*n)
{
flag=1;
return;
}
for(i=0; i<cnt; i++)
{
if(sum[i]==0) continue;
if(check(k,i))
{
x=k/n;
y=k%n;
p[x][y]=i;
sum[i]--;
dfs(k+1);
sum[i]++;
if(flag==1) return;
}
}
return;
}
int main()
{
int cas=0,i,j,a,b,c,d;
while(~scanf("%d",&n)&&n)
{
cnt=0;
memset(sum,0,sizeof(sum));
if(cas) printf("\n");
for(i=0; i<n*n; i++)
{
scanf("%d%d%d%d",&a,&b,&c,&d);
for(j=0; j<cnt; j++)
{
if(mp[j][1]==a&&mp[j][2]==b&&mp[j][3]==c&&mp[j][4]==d)
break;
}
if(j<cnt) sum[j]++;
else
{
cnt++;
sum[j]=1;
mp[j][1]=a;
mp[j][2]=b;
mp[j][3]=c;
mp[j][4]=d;
}
}
flag=0;
dfs(0);
printf("Game %d: ",++cas);
if(flag) printf("Possible\n");
else printf("Impossible\n");
}
return 0;
}
zoj 1008 Gnome Tetravex的更多相关文章
- ZOJ 1008 Gnome Tetravex(DFS)
Gnome Tetravex Time Limit: 10 Seconds Memory Limit: 32768 KB Hart is engaged in playing an inte ...
- [ZOJ 1008]Gnome Tetravex (dfs搜索 + 小优化)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1008 题目大意:给你n*n的矩阵,每个格子里有4个三角形,分别是 ...
- ZOJ 1008 Gnome Tetravex(DFS)
题目链接 题意 : 将n*n个正方形进行排列,需要判断相邻的正方形的相邻三角形上边的数字是不是都相等. 思路 : 只知道是个深搜,一开始不知道怎么搜,后来看了题解才明白,就是说不是自己去搜,而是将给定 ...
- 1008 Gnome Tetravex
练习使用DPS的题,不知道有无别的做法,思路不复杂.形式是统计并且进行数字配对. #include <stdio.h> ][],note[],ans[]; void ini(){ int ...
- Gnome Tetravex
zoj1008:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1008 题目意思是有一个游戏,即给出一个图,该图是由n*n个 ...
- zoj 1008 暴力枚举求解dfs+优化
/* 现将相同的合并计数. 再枚举判断是否符合当cou==n*n是符合就退出 */ #include<stdio.h> #include<string.h> #define N ...
- ZOJ1008 Gnome Tetravex
DFS+剪枝~ #include<bits/stdc++.h> using namespace std; ][]; int N; int cnt; ]; ]; unordered_map& ...
- POJ题目细究
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- 【转】POJ百道水题列表
以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...
随机推荐
- 【前端图表】echarts实现散点图x轴时间轴
话不多说,老规矩,先上图,实现echarts实现散点图,x轴数据为时间年月日. 实现代码如下: <!DOCTYPE html> <html> <head> < ...
- [Angular] Style HTML elements in Angular using ngStyle
We will learn how to make use of the ngStyle directive to directly add multiple style attributes to ...
- 【AtCoder Beginner Contest 074 B】Collecting Balls (Easy Version)
[链接]h在这里写链接 [题意] 看懂题目之后就会发现是道大水题. [题解] 在这里写题解 [错的次数] 0 [反思] 在这了写反思 [代码] #include <bits/stdc++.h&g ...
- (转)Windows2008优化IIS7.5支持10万个同时请求的配置方法
通过对IIS7的配置进行优化,调整IIS7应用池的队列长度,请求数限制,TCPIP连接数等方面,从而使WEB服务器的性能得以提升,保证WEB访问的访问流畅. 在运行中cmd后,输入:C:\Window ...
- 【习题 3-4 UVA - 455】Periodic Strings
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 枚举 [代码] #include <bits/stdc++.h> using namespace std; const ...
- .dmp文件导出使用示例
exp导出的几种用例,先睹为快: 1 将数据库SampleDB完全导出,用户名system 密码manager 导出到E:/SampleDB.dmp中 exp system/manager@TestD ...
- [Angular HTML] Overwrite input value, String.fromCharCode & input.selectionStart
@HostListener('keydown', ['$event', '$event.keyCode']) onKeyDown($event: KeyboardEvent, keyCode) { i ...
- [Debug] Chrome Devtools: Elements - Console Integration
The Element Inspector in Chrome DevTools offers powerful integration with the console - learn how to ...
- 三、链路追踪系统 zipkin
一.构建项目 用到的依赖直接看pom.xml的注释吧 <?xml version="1.0" encoding="UTF-8"?> <proj ...
- mha && 脚本拉起
ip分布: vip 192.168.238.222 mha_manager 192.168.238.131 监控服务器 master 192.168.238.128 主库GTID复制模式 slave ...