uva110 没有循环的排序程序
2012-05-06 18:27
274 查看
#include<cstdio> #include<vector> using namespace std; void make_prog(int cur, int n, vector<int> &q) { int i,j; if (cur == n) { for (j = 0; j < n; j++)printf(" "); printf("writeln("); for (j = 0; j < n-1; j++)printf("%c,", q[j] + 'a'); printf("%c)\n", q[j] + 'a'); } else for(j = cur; j >= 0; j--) { for(i = 0; i < cur; i++)printf (" "); if (j < cur)printf("else "); if (j) printf("if %c < %c then", q[j-1] + 'a', 'a' + cur); putchar('\n'); vector<int> new_q(q); new_q.insert(new_q.begin()+j, cur); make_prog(cur+1, n, new_q); } } main() { int m,n; scanf("%d", &m); while (m--) { scanf("%d", &n); puts("program sort(input,output);"); puts("var"); int i; for ( i = 0; i < n-1; i++) printf ("%c,", 'a' + i); printf("%c : integer;\nbegin\n", 'a' + i); printf(" readln("); for (i = 0; i < n-1; i++)printf("%c,", 'a' + i); printf("%c);\n", 'a' + i); vector<int> q; q.push_back(0); make_prog(1, n, q); printf ("end.\n"); if (m)putchar('\n'); } return 0; }
相关文章推荐
- UVA 110 没有循环的排序程序
- UVa 110 没有循环的排序程序
- uva110-Meta-Loopless Sorts(没有循环的排序程序)
- 汇编语言简单小程序——分支、循环和排序程序设计实验
- UVA110模拟出Pascal的8个数字的排序代码插入式递归
- Uva 110 - Meta-Loopless Sorts(!循环,回溯!)
- 下面程序为什么没有一直陷入main的while(1)循环?(多线程在作怪)
- 探究数组排序提升Python程序的循环的运行效率的原因
- STM32在线仿真出现是循环,使用mcuisp下载程序却可以运行,JTAG下载程序可以下载成功,却没有任何动作!
- uva 110 Meta-Loopless Sorts 用程序写程序 有点复杂的回溯水题
- uva 110 Meta-Loopless Sorts 用程序写程序 有点复杂的回溯水题
- UVA - 110 Meta-Loopless Sorts(元排序 回溯)
- SqlServer配置管理器“无法连接到WMI提供程序。您没有权限或者该服务器无法访问。”
- 三重for循环实现对二维数组的按列排序(JavaScript)
- 小程序没有授权时的处理方法
- 循环控制结构程序07 - 零基础入门学习C语言22
- FLEX程序基本结构--循环结构程序设计
- 用VC++6.0写的程序怎么在没有安装VC的电脑上运行?
- 字符排序程序
- shell 脚本监控程序是否正在执行, 如果没有执行, 则自动启动该进程