麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

藍橋杯 2016 省賽 A 方格填數

2019-11-11 05:28:14
字體:
來源:轉載
供稿:網友

方格填數 如下的10個格子 這里寫圖片描述 填入0~9的數字。要求:連續的兩個數字不能相鄰。 (左右、上下、對角都算相鄰) 一共有多少種可能的填數方案?

DFS就好 但是, 我加了一個list的優化 更要命的是 這個list是用STL實現的 (好吧,其實是我已經懶到手寫鏈表都不會了) 下面普及list的用法 list.erase(it) 這個是函數 返回刪除元素的下一個迭代器 e.g list = [0, 1, 2, 3, 4 …] it = list.erase(list.begin()) *it = 1 同樣 list.insert(it, x)也是個函數,返回的是插入這個元素的迭代器 e.g list = [0, 1, 2, 3, 4 …] it = list.insert(list.begin(), -1) *it = -1 特別注意 是在前面插入的 所以此時 list 變成 [-1, 0, 1, 2, …] 總之這樣,就可以解決藍橋杯里面一切小學奧數問題 并且用了STL, 非常優雅

#include <bits/stdc++.h>using namespace std;list<int> li;int g[20];bool adj(int a, int b){ return abs(a - b) > 1;}bool ok(int i, int x){ if (i == 0) return true; if (i == 1) return adj(x, g[0]); if (i == 2) return adj(x, g[1]); if (i == 3) return adj(x, g[0]); if (i == 4) return adj(x, g[0]) && adj(x, g[1]) && adj(x, g[3]); if (i == 5) return adj(x, g[0]) && adj(x, g[1]) && adj(x, g[2]) && adj(x, g[4]); if (i == 6) return adj(x, g[1]) && adj(x, g[2]) && adj(x, g[5]); if (i == 7) return adj(x, g[3]) && adj(x, g[4]); if (i == 8) return adj(x, g[3]) && adj(x, g[4]) && adj(x, g[5]) && adj(x, g[7]); if (i == 9) return adj(x, g[4]) && adj(x, g[5]) && adj(x, g[6]) && adj(x, g[8]);}int ans = 0;void dfs(int k){ if (k == 10) ans++; for (auto it = li.begin(); it != li.end(); it++) { if (ok(k, *it)) { g[k] = *it; it = li.erase(it); dfs(k + 1); it = li.insert(it, g[k]); } }}int main(){ for (int i = 0; i < 10; i++) { li.push_back(i); } dfs(0); cout << ans << endl;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 最新一级毛片 | 久久一区三区 | 天天舔天天插 | 91美女啪啪| 精品久久久久久久久久久下田 | 国产中出在线观看 | 亚洲精品久久久久久久久久久 | 精品国产看高清国产毛片 | 中国女人内谢69xxxx天美 | 国产亚洲精品综合一区91 | 一区二区三区视频在线播放 | 国产成人精品一区二区三区电影 | 综合在线一区 | 久久美女色视频 | www.guochan| 久久国产精品91 | 国产免费久久久久 | 国产一区二区三区高清 | 成人午夜视频在线观看免费 | 中文字幕在线播放一区 | xxxx18韩国护士hd老师 | 中文字幕精品久久 | 免费看国产 | 中文字幕在线观看视频www | 国产精品久久久久久久久久久久午夜 | 欧美一级电影网站 | 国产流白浆高潮在线观看 | 亚洲影院在线 | 中文字幕精品亚洲 | 国产亚洲综合一区二区 | 黄色免费小网站 | 亚洲第一男人天堂 | 亚洲一区在线国产 | 国产做爰全免费的视频黑人 | 666sao| 99爱视频| 午夜视频在线看 | 成人做爰高潮片免费视频韩国 | 色婷婷av一区二区三区久久 | 国产精品区一区二区三区 | 成人在线视频免费观看 |