nyoj 366 D的小L
2014-09-15 16:20
267 查看
D的小L(STL)
描述 一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0<n<10),写出1到n的全排列,这时匡匡有点囧了
,,,聪明的你能帮匡匡解围吗?
输入第一行输入一个数N(0<N<10),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个整数x(0<x<10)输出按特定顺序输出所有组合。
特定顺序:每一个组合中的值从小到大排列,组合之间按字典序排列。样例输入
2 2 3
样例输出
12 21 123 132 213 231 312 321
#include<stdio.h> #include<algorithm> using namespace std; int main() { int T,a[10],i,n; scanf("%d",&T); while(T--) { scanf("%d",&n); for(i=1;i<=n;i++) a[i-1]=i; do { for(i=0;i<n;i++) printf("%d",a[i]); printf("\n"); } while(next_permutation(a,a+n)); } return 0; } /* 如果存在a之后的排列,就返回true。如果a是最后一个排列没有后继,返回false,每执行一次, a就变成它的后继 #include<stdio.h> #include<algorithm> using namespace std; int main() { int a[3]={1,2,3}; do { printf("%d %d %d\n",a[0],a[1],a[2]); } while(next_permutation(a,a+2)); return 0; } #include<stdio.h> #include<iostream> #include<string.h> #include<algorithm> using namespace std; int main() { char ch[205]; int i; scanf("%s",ch); char *first=ch; char *last=ch+strlen(ch); do { for(i=0;ch[i]!='\0';i++) printf("%c",ch[i]); printf("\n"); } while(next_permutation(first,last)); return 0; } */
相关文章推荐
- NYOJ-366 D的小L 全排列
- NYOJ 366--D的小L【next_permutation水题】
- NYOJ,366,D的小L
- NYOJ 366 D的小L
- NYOJ 366 D的小L(next_permutation(a,a+n))
- NYOJ366 D的小L 和 NYOJO32 组合数 和 NYOJ19 擅长排列的小明 和 NYOJ488 素数环 【递归】
- NYOJ 366 D的小L
- nyoj 366 D的小L(全排列)
- NYOJ 366 D的小L
- nyoj 366 D的小L
- NYOJ 366--D的小L【next_permutation水题】
- NYOJ 366 D 的小L(全排列)
- NYOJ 366
- NYOJ 366 D的小L
- nyoj-366 D的小L
- nyoj 366 D的小L 【全排列(模板)】
- NYOJ-366:D的小L
- NYOJ--366--D的小L
- NYOJ 题目366 D的小L (next_permutation)
- nyoj_366_D的小L_201403011600