hdu 4739 Zhuge Liang's Mines (水题:坑题!!!)
2014-08-27 12:15
323 查看
/* * 绝逼的坑题,坑点就在于一个坐标下可能存在多个地雷 * 这尼玛都不知道出题人是怎么想的,一个位置放多个地雷还炸不死放地雷的小士兵??? * 坑出个翔了!! * 做法就是贪心,枚举所有的点和所有可能的边,当然还要考虑变长为0的正方形(这尼玛) */ #include <cstdio> #include <cstring> #define MAXN 120 using namespace std; int vis[MAXN][MAXN]; bool judge(int x, int y) { if(x<0 || y<0 || x>100 || y>100) return false; if(vis[x][y] > 0) return true; return false; } int main(void) { int n, x, y; while(scanf("%d", &n)!=EOF && n!=-1) { memset(vis, 0, sizeof(vis)); while(n--) { scanf("%d%d", &x, &y); vis[x][y]++; } int ans = 0; for(int i=0; i<=100; ++i) { for(int j=0; j<=100; ++j) { ans += vis[i][j] / 4; vis[i][j] %= 4; } } for(int i=0; i<=100; ++i) { for(int j=0; j<=100; ++j) { int tmp = vis[i][j]; while(vis[i][j] > 0 ) { for(int k=1; k<=100; ++k) { if(judge(i, j) && judge(i,j+k) && judge(i+k, j) && judge(i+k, j+k)) { ++ans; vis[i][j]--; vis[i+k][j]--; vis[i][j+k]--; vis[i+k][j+k]--; } } if(vis[i][j] == tmp) break; } } } printf("%d\n", ans*4); } return 0; }
相关文章推荐
- HDU 4739 Zhuge Liang's Mines
- hdu 4739 Zhuge Liang's Mines 搜索
- hdu 4739 Zhuge Liang's Mines 状态压缩
- HDOJ 4739 Zhuge Liang&#39;s Mines
- HDOJ 4739 - Zhuge Liang's Mines 暴力DFS
- hdu 4739——Zhuge Liang's Mines
- HDU 4772 Zhuge Liang's Password 矩阵旋转
- hdu4739 Zhuge Liang's Mines 状态压缩dp,0-1背包
- HDU 4739 Zhuge Liang's Mines(DP)
- hdu 4739 Zhuge Liang's Mines(状压DP)
- HDU 4739 Zhuge Liang's Mines (状态压缩+背包DP)
- HDU 4739 Zhuge Liang's Mines
- HDU 4739 Zhuge Liang's Mines
- HDU 4739 Zhuge Liang's Mines(状压DP)
- HDU 1157 Who's in the Middle【水题】
- [HDU 4739]Zhuge Liang's Mines:状压DP
- hdu 4739 Zhuge Liang's Mines
- hdu 4739 Zhuge Liang's Mines
- HDU 4739 Zhuge Liang's Mines
- hdu 4772 Zhuge Liang's Password(水题)