日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

UVA - 10570 Meeting with Aliens 暴力

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

題目大意:有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; }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 黄色在线观看视频网站 | 日韩久久三级 | 疯狂欧洲av久久成人av电影 | 午夜在线免费观看视频 | www色亚洲 | 国产一区不卡 | 免费国产一区二区三区 | 国产区网址| 久久久久久91 | 97人人干| 中文在线资源天堂 | 久久国产精品一区二区三区 | 国产成人精品午夜视频免费 | 欧美日韩精品在线观看 | 在线观看毛片网站 | 玖玖在线播放 | 久久精品视频一区二区 | 成人做爰www免费看视频网战 | 国产精品久久免费视频 | 成人a级网站 | 在线播放一区二区三区 | 日本一二区不卡 | 久久精品亚洲精品 | 欧美在线一区二区三区四区 | 久久加久久 | 九九视频一区 | 久久精品中文字幕 | 99国产精品久久久久久久成人热 | 美女精品 | 国产成人一区二区三区 | 一级毛片免费播放 | 欧美91| 超碰超碰 | 国产精品久久久久久久久久免费 | 国产伦精品一区二区三区照片 | 久久亚洲成人 | 亚洲精品一区国产精品 | 久久国产一区二区 | 亚洲国产精品一区二区第一页 | 久久99精品久久久久久噜噜 | 亚洲精品尤物福利在线一区 |