【链接】 我是链接,点我呀:)
【题意】

在这里输入题意

【题解】

先预处理出所有的正方形(长度为1,2...n的)所包含哪些边。
然后记录每个正方形的应有边长和实际边长(有些边被删掉了);
然后搜的时候,每次找到第一个还是完整的正方形。
枚举删掉它的哪一条边。
然后看看哪些正方形会受到影响。
修改那些受影响的正方形的实际边长。
然后进入下一层。继续搜。
然后回溯影响。
直到所有的正方形都变成不完整的就可以了。
暴力就好。不用加优化。

【代码】

/*1.Shoud it use long long ?2.Have you ever test several sample(at least therr) yourself?3.Can you promise that the solution is right? At least,the main ideal4.use the puts("") or putchar() or printf and such things?5.init the used array or any value?6.use error MAX_VALUE?7.use scanf instead of cin/cout?8.whatch out the detail input require
*/
/*一定在这里写完思路再敲代码!!!
*/
#include <bits/stdc++.h>
using namespace std;const int N = 150;int T,n,cnt[N],tot,fullsize[N],realsize[N],ans,totm;
bool contain[N][N];int GetColumn(int x,int y){int temp1 = (x-1)*(n+1) + x*n + y;return temp1;
}int GetRow(int x,int y){int temp1 = (x-1)*(n+1) + (x-1)*n +y;return temp1;
}int findfirst(){for (int i = 1;i <= tot;i++)if (fullsize[i]==realsize[i]) return i;return -1;
}void dfs(int dep){if (dep >= ans) return;int idx = findfirst();if (idx==-1){ans = dep;return;}for (int i = 1;i <= totm;i++)if (cnt[i] == 1 && contain[idx][i]){cnt[i] = 0;for (int j = 1;j <= tot;j++) if (contain[j][i]) realsize[j]--;dfs(dep+1);cnt[i] = 1;for (int j = 1;j <= tot;j++) if (contain[j][i]) realsize[j]++;}
}int main(){#ifdef LOCAL_DEFINEfreopen("rush_in.txt", "r", stdin);#endifios::sync_with_stdio(0),cin.tie(0);cin >> T;while (T--){tot = 0;memset(contain,0,sizeof contain);memset(fullsize,0,sizeof fullsize);memset(realsize,0,sizeof realsize);cin >>n;totm = 2*n*(n+1);for (int i = 1;i <= totm;i++) cnt[i] = 1;int k;cin >> k;while(k--){int x;cin >>x;cnt[x] = 0;}for (int len = 1;len <= n;len++){for (int i = 1;i <= n-len+1;i++){for (int j = 1;j <= n - len+1;j++){//(i,j)tot++;int x;fullsize[tot] = len*4;for (int k = 0;k < len;k++){x = GetColumn(i+k,j);contain[tot][x] = 1;realsize[tot]+=cnt[x];x = GetColumn(i+k,j+len);contain[tot][x] = 1;realsize[tot]+=cnt[x];x = GetRow(i,j+k);contain[tot][x] = 1;realsize[tot]+=cnt[x];x = GetRow(i+len,j+k);contain[tot][x] = 1;realsize[tot]+=cnt[x];}}}}ans = 1000;dfs(0);cout << ans << endl;}return 0;
}

转载于:https://www.cnblogs.com/AWCXV/p/8066351.html

【例7-15 UVA-1603】Square Destroyer相关推荐

  1. UVA 1603 Square Destroyer

    https://vjudge.net/problem/UVA-1603 题目 The left figure below shows a complete$3 \times 3$grid made w ...

  2. Square Destroyer UVA - 1603 IDA*

    紫书的代码 写起来很麻烦 以后自己独立再写. 把完整图里面的正发形都枚举出来,算出每一个正方形是否差了边 然后ida*一直搜就好了    有意思的是 ida*的maxd是放在dfs()里面实现的 内附 ...

  3. UVa 201 Square

    这道题,没什么,就查找正方形, 特别注意一下 \n 的使用. //UVa 201 //Square //#define LOCAL #include <stdio.h> #include ...

  4. 信息学奥赛一本通 2046:【例5.15】替换字母

    [题目链接] ybt 2046:[例5.15]替换字母 [题目考点] 1. 字符数组 2. string类 3. 读入带空格的字符串 由于NOIP官方开始使用C++14编译器,C语言中用于读取带空格字 ...

  5. 信息学奥赛一本通 2029:【例4.15】水仙花数

    [题目链接] ybt 2029:[例4.15]水仙花数 [题目考点] 1. 枚举 2. 数字拆分 对于三位数a:个位:a%10,十位:a/10%10,百位:a/100 [解题思路] 枚举对象:i 枚举 ...

  6. 信息学奥赛一本通 2072:【例2.15】歌手大奖赛

    [题目链接] ybt 2072:[例2.15]歌手大奖赛 [题目考点] 1. 算术应用题 [解题思路] 6人平均分9.6分,总分为6*9.6 去掉最高分,总分为5*9.4,那么最高分为6*9.6-5* ...

  7. 信息学奥赛一本通(2072:【例2.15】歌手大奖赛)

    2072:[例2.15]歌手大奖赛 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 98     通过数: 40 [题目描述] 歌手大奖赛上6名评委给一位参赛者打分 ...

  8. 信息学奥赛一本通(2046:【例5.15】替换字母)

    2046:[例5.15]替换字母 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 961     通过数: 578 [题目描述] 在应用计算机编辑文档的时候,我们经 ...

  9. 信息学奥赛一本通(2029:【例4.15】水仙花数)

    2029:[例4.15]水仙花数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 1242     通过数: 718 [题目描述] 求100∼999100∼999中 ...

  10. 信息学奥赛一本通 1271:【例9.15】潜水员

    [题目链接] ybt 1271:[例9.15]潜水员 [题目考点] 1. 动态规划:二维费用背包 [解题思路] 记y[i]:第i瓶的氧容量 d[i]:第i瓶的氮容量 w[i]:第i瓶的重量 1. 状态 ...

最新文章

  1. 百亿级日志系统架构设计及优化
  2. java robot 控制鼠标_Java-探索Robot类:[2]自动控制鼠标
  3. %@page contentType=text/html;charset=gbk%与meta http-equiv=Content-Type content=text/html; ch...
  4. Mysql 多实例multi_mysqld_multi多实例运行
  5. 从如何优化SQL入手,提高数据仓库的ETL效率
  6. 从“嵌入式”到“物联网”有哪些变化?
  7. 挑战程序设计竞赛_我系首次参加第六届中国大学生程序设计竞赛网络预选赛
  8. airodump-ng wlan0mon扫描不到网络_MySQL ProxySql 由于漏洞扫描导致的 PROXYSQL CPU 超高...
  9. 用公式求e^x的近似值
  10. jquery append、prepend、before等等
  11. QQ春节福袋正式上线 解锁春节红包新姿势
  12. Spring : HierarchicalBeanFactory父容器访问功能
  13. Linux工作笔记035---linux内网测试访问外网网速_外网测试访问内网网速
  14. ASP.net 2.0 的 Membership Provider 与 Role Provider 第一部分——引进资源
  15. mysql 多表查询 like_MYSQL多表联合查询的问题
  16. 中国人口最多的姓氏排行
  17. linux scp传输文件权限被拒绝,Linux的远程传输文件scp及出现Permission denied (publickey).lost connection问题解决方法-Go语言中文社区...
  18. Pr导入ass字幕的解决方案——将ass字幕转为mov视频格式
  19. (转载)App原生开发、混合开发及HTML5开发的优劣
  20. Ambiguous mapping. Cannot map ‘fruitawcController‘ method

热门文章

  1. 揭秘持牌消费金融机构的“潜规则”
  2. kernel启动流程-start_kernel的执行_8.cpio initrd解包
  3. cisp有哪些方向?
  4. python实现微信发红包
  5. 经济学的基础 —— 稀缺
  6. 星星之火-30:什么是WCDMA的伪随机码与扰码?
  7. LeetCode每日一题--有序队列(整理最小表示法)
  8. 7-44 [0508]个人所得税
  9. 企查查访问超频怎么办_怎样删除企查查的不良信息
  10. ESP8266开发之旅 阿里云物联网平台篇④ LED智能灯控制系统(MQTTS客户端直连)