杭电的题,输出格式卡的很严。HDU 1716 排列2
生活随笔
收集整理的這篇文章主要介紹了
杭电的题,输出格式卡的很严。HDU 1716 排列2
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題很簡單,一開始寫代碼,是用整數(shù)的格式寫的,怎么跑都不對,就以為算法錯了,去看大佬們的算法STL全排列:next_permutation(); 又雙叒叕寫了好幾遍,PE了將近次,直到跑了大佬代碼發(fā)現(xiàn),原來格式是這樣的。
下面是實現(xiàn)全排列的兩段代碼,睡覺睡覺。
STL電動
純手動
#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; } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的杭电的题,输出格式卡的很严。HDU 1716 排列2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高防双线云服务器能抵挡哪些攻击
- 下一篇: 疯子的算法总结(四)贪心算法