多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > UVA - 10570 Meeting with Aliens 暴力

UVA - 10570 Meeting with Aliens 暴力

來源:程序員人生   發布時間:2015-06-11 08:57:37 閱讀次數:2425次

題目大意:有n個外星人要開園桌會議,外星人的編號由1到n,要求編號為i的外星人的相鄰位置必須坐著編號為i⑴和編號為i+1的外星人。
現在給出n個外星人坐在圓桌上的順序,要求你經過最少次交換(交換是兩個外星人交換所座位置),使得所有外星人坐法都符合上訴規則。

解題思路:枚舉每一個外星人坐的位置,假定該位置坐的必須是編號為1的外星人,然后編號從左遞增或遞減,最后檢查該安排需要交換幾次外星人
如果該外星人坐的位置是錯的話,就直接把合適坐該坐位的外星人何其交換過來,這樣的交換次數是最少的

#include<cstdio> #include<cstring> #define maxn 510 int pos[maxn], start[maxn], end[maxn], n; int exchange() { int cnt = 0; for(int i = 1; i <= n; i++) { if(end[i] != i) { pos[end[i]] = pos[i]; end[pos[i]] = end[i]; cnt++; } } return cnt; } void solve() { int MIN = 0x3f3f3f3f; for(int i = 1; i <= n; i++) { for(int j = 1, k = i; j <= n; j++, k++) { if(k > n) k = 1; end[j] = start[k]; pos[end[j]] = j; } int t = exchange(); MIN = (t > MIN? MIN:t); } for(int i = 1; i <= n; i++) { for(int j = 1, k = i; j <= n; j++, k--) { if(k <= 0) k = n; end[j] = start[k]; pos[end[j]] = j; } int t = exchange(); MIN = (t > MIN? MIN:t); } printf("%d ", MIN); } int main() { while(scanf("%d", &n) == 1 && n) { for(int i = 1; i <= n; i++) scanf("%d", &start[i]); solve(); } return 0; }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产免费午夜a无码v视频 | 最近更新中文字幕在线 | 亚洲精品成人网 | 免费中日高清无专码有限公司 | 狠狠操网站 | 波多野结衣午夜 | 久久91精品久久91综合 | 91精品视频网站 | 在线观看视频在线 | 国产日本韩国不卡在线视频 | 欧美自拍另类 | 日本亚洲一区二区 | 春色网站| 午夜羞羞影院 | 麻豆国产免费看片在线播放 | 欧美日韩视频二区三区 | 欧美性猛交xxxxx按摩欧美 | 波多结衣一区二区三区 | 日本成人免费在线视频 | 一二区 | 国产亚洲福利精品一区 | 校园春色 中文字幕 | 亚洲国产精品成人综合久久久 | 国产精品久久现线拍久青草 | 四虎东方va私人影库在线观看 | 久久精品国产一区二区三区不卡 | 久久精品亚洲欧美日韩久久 | 亚洲天堂在线视频 | 五月天婷五月天综合网在线 | 好大好湿好硬顶到了好爽在 | 99精品国产高清一区二区 | 国产情精品嫩草影院88av | 狠狠色伊人亚洲综合第8页 狠狠色综合网 | 456亚洲人成影院在线观 | 欧美最猛性xxxxx动态图 | 国产永久在线观看 | 91人人视频 | 亚洲精品无码专区在线播放 | 91精品日韩| 欧美一级毛片高清免费观看 | 伊人免费在线观看 |