日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

杭电的题,输出格式卡的很严。HDU 1716 排列2

發布時間:2023/12/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 杭电的题,输出格式卡的很严。HDU 1716 排列2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


題很簡單,一開始寫代碼,是用整數的格式寫的,怎么跑都不對,就以為算法錯了,去看大佬們的算法STL全排列:next_permutation(); 又雙叒叕寫了好幾遍,PE了將近次,直到跑了大佬代碼發現,原來格式是這樣的。

下面是實現全排列的兩段代碼,睡覺睡覺。
STL電動

#include<iostream> #include<cstdio> #include<cstring> #include<map> #include<set> #include<algorithm> using namespace std; int main() {char a[4]={0};int x=0;for(;;){for(int i=0;i<4;i++){cin>>a[i];}sort(a,a+4);char w=a[0];if(a[0]=='0'&&a[1]=='0'&&a[3]=='0'&&a[2]=='0') break;if(x) cout<<endl;x++;int qt=0;int lasta0=-1;bool flag2=true;do {if(a[0]=='0')continue;if(flag2)flag2 = false;else if(a[0] == lasta0) cout<<' ';else cout<<endl;cout<<a[0]<<a[1]<<a[2]<<a[3];lasta0 = a[0];} while(next_permutation(a, a +4));cout<<endl;}return 0; }

純手動

#include<iostream> #include<cstdio> #include<cstring> #include<map> #include<set> #include<algorithm> using namespace std; set<int> mx; int main() {int a[5];int sb=0;for(;;){mx.clear();int multi;for(int i=1;i<5;i++){cin>>a[i];}if(a[1]==0&&a[2]==0&&a[3]==0&&a[4]==0) break;if(sb)cout<<endl;sb++;for(int i=1;i<5;i++){for(int j=1;j<5;j++){if(i==j) continue;for(int k=1;k<5;k++){if(j==k||i==k) continue;for(int l=1;l<5;l++){if(k==l||l==j||l==i) continue;multi=a[i]*1000+a[j]*100+a[k]*10+a[l];if(multi>999) mx.insert(multi);}}}}set<int>::iterator poi,p2;p2=mx.begin();int xa=0;for(poi=mx.begin();poi!=mx.end();poi++){p2++;if(xa) cout<<' ';xa++;cout<<*poi;if(*p2/1000!=*poi/1000){cout<<endl;xa=0;}}}return 0; } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的杭电的题,输出格式卡的很严。HDU 1716 排列2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。