UVA 156 --- Ananagrams 排序去重
来源:互联网 发布:杀蚊软件 编辑:程序博客网 时间:2024/06/05 15:10
#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <string.h>#include <algorithm>using namespace std;const char *p = " ";int s[35];int st[35];char sr[5010];int jl[3000];bool pd(int k){ for(int i = 0; i < k; i++) { if(s[i] != st[i]) return false; } return true;}int main(){ int k; char zh[4]; char *q = zh; while(gets(sr)) { k = 0; int js = 0; q = strtok(sr,p); while(q != NULL) { s[k] = atoi(q); st[k] = s[k]; k++; q = strtok(NULL,p); } for(int i = 0;i < k;i++) { printf("%d",s[i]); if(i < k - 1) printf(" "); } printf("\n"); sort(st,st + k); int n = k; while(!pd(k) && n != 0) { int mx = -1; int xb = -1; for(int i = 0;i < n;i++) { if(mx < s[i]) { mx = s[i]; xb = i; } } if(s[n - 1] != mx) { if(s[0] == mx) { int *x = &s[0]; int *y = &s[n - 1]; while(x < y) { int tmp = *x; *x = *y; *y = tmp; x++; y--; } jl[js++] = k - n + 1; n--; } else { int *x = &s[0]; int *y = &s[xb]; while(x < y) { int tmp = *x; *x = *y; *y = tmp; x++; y--; } jl[js++] = k - xb; } } else n--; } for(int i = 0;i < js;i++) { printf("%d ",jl[i]); } printf("0\n"); } return 0;}
0 0
- UVA 156 --- Ananagrams 排序去重
- uva 156 Ananagrams(检索+sort排序)
- UVa 156 - Ananagrams
- uva 156 Ananagrams
- UVA 156 - Ananagrams
- UVA 156 - Ananagrams
- UVa 156 - Ananagrams
- uva 156 - Ananagrams
- uva- 156-Ananagrams
- UVa 156 - Ananagrams
- UVA 156 - Ananagrams
- UVa 156 - Ananagrams
- UVa 156 - Ananagrams
- UVA 156 Ananagrams
- uva 156 - Ananagrams
- UVa - 156 - Ananagrams
- uva 156 Ananagrams
- UVa 156 - Ananagrams
- 求10个数中最大值
- 问题:如何获取当前步骤的子步骤所有处理人?见正文
- 初学cocos2d-x之抄袭别人的旅程之跑酷01-前言
- Java源码乱码问题 编码转换器
- 雷观(十六):以习近平为首的新一届领导集体,大权在握,做事很有信心
- UVA 156 --- Ananagrams 排序去重
- 输出乘法口诀表
- java按照map的value排序
- IE, FireFox, Opera 浏览器支持CSS实现Alpha透明的方法 兼容问题
- c++模板元编程学习笔记(三)——习题4-2.逻辑元函数
- mysql 忘记密码之后 发生的神奇的事
- 子表JS插件技术
- C++编程总结之虚函数的使用
- 2014 Winter Vacation Practice No.2 Translation