Uva872-Ordering
来源:互联网 发布:it技术 编辑:程序博客网 时间:2024/06/05 19:13
排列组合问题,stl的next_permutation搞定
#include <iostream>#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <algorithm>using namespace std;const int maxn = 100;bool mat[maxn][maxn];int main(){int ncase;cin >> ncase;getchar();int T = 1;vector<char> vv;while(ncase--){ getchar(); if(!T) { cout<<endl; } T = 0;vv.clear();memset(mat,0,sizeof(mat));string st;getline(cin,st);for(int i = 0; i < st.size();i +=2){vv.push_back(st[i]);//cout<<st<<endl; } sort(vv.begin(),vv.end()); getline(cin,st); for(int i = 0; i < st.size(); i += 4){ mat[st[i+2]-'A'][st[i]-'A'] = 1; //cout<<i+2<<" "<<i<<endl; //cout<<st[i+2]<<" "<<st[i]<<endl; } int cnt = 0; do{ bool flag = 1;for(int i = 0; i < vv.size(); i++){ for(int j = i+1; j < vv.size(); j++){ if(mat[vv[i]-'A'][vv[j]-'A']){ flag = 0; break; } } } if(flag){ cnt++; for(int i = 0; i < vv.size()-1; i++){ cout<<vv[i]<<" "; } cout<<vv[vv.size()-1]<<endl; } }while(next_permutation(vv.begin(),vv.end())); if(cnt == 0){ cout<<"NO"<<endl; } }}/*2A B F GA<B B<FA B F GA<B B<F*/
- Uva872-Ordering
- UVa872 - Ordering(拓扑排序)
- Memory Ordering
- ALERT ORDERING
- Memory Ordering
- Ordering Tasks
- memory ordering
- Ordering Tasks
- Ordering Tasks
- Ordering Tasks
- False Ordering
- Linq Ordering Operator
- strict weak ordering
- Object Ordering java 排序
- uva 10305 - Ordering Tasks
- Sicily 1940. Ordering Tasks
- spoj227. Ordering the Soldiers
- uva 10305 - Ordering Tasks
- HDU 1026 Ignatius and the Princess I (优先队列+BFS(广度优先搜索))
- android面试题总结加强再加强版(二)
- Linux中替换文本中的字符串
- MySQLdb: Python.h: No such file or directory
- android面试题总结加强再加强版(三)
- Uva872-Ordering
- extjs复选框依次排列
- Sublime 编辑器 一些使用总结
- 如何选择合适的文本编辑器?
- 菜鸟的安卓内核开发之旅2--从windows硬盘安装Ubuntu12.04
- 题目1017:还是畅通工程
- AlphaMobileControls 控件的使用 AlphaImageButton
- Java基本数据类型解析(附Java基本数据类型所占位数以及字节数的求法)
- 多读书,读好书