zzuli 1812: sort
来源:互联网 发布:是以圣人不行而知 编辑:程序博客网 时间:2024/06/04 19:59
http://acm.zzuli.edu.cn/problem.php?id=1812
1812: sort
Description
想必大家对排序已经很熟悉了,但是spy好像对排序不太熟悉,有一天,他看到这样一个关于排序的题目:
对于 k 个用空格分隔开的整数,依次为 n1, n2 … nk。请将所有下标不能被 3 但可以被 2 整除的数在这些数字原有的位置上进行升序排列,此外,将余下下标能被 3 整除的数在这些数字原有的位置上进行降序排列。
spy想了半天不知道怎么排序,你可以帮助他么?
Input
多组数据,每组数据一行,为k个小于1000的正整数,依次为 n1, n2 … nk。(1 <= k <= 100000)
Output
对于每组数据,输出排序后的结果。
Sample Input
1 3 4 2 10 6 8
Sample Output
1 2 6 3 10 4 8
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>#include <cstdlib>#include <limits>#include <queue>#include <stack>#include <vector>#include <map>using namespace std;typedef long long LL;#define N 110000#define INF 0x3f3f3f3f#define PI acos (-1.0)#define EPS 1e-5#define met(a, b) memset (a, b, sizeof (a))int main (){ int b1[N], b2[N], a[N], x; while (scanf ("%d", &x) != EOF) { met (b1, 0); met (b2, 0); met (a, 0); a[1] = x; int k = 1; char ch; while (scanf ("%c", &ch), ch!='\n') { if (ch == ' ') k++; if (ch >= '0' && ch <= '9') a[k] = a[k]*10 + ch-'0'; } int j1 = 0, j2 = 0; for (int i=1; i<=k; i++) { if (i%2==0 && i%3) b1[j1++] = a[i]; else if (i%3 == 0) b2[j2++] = a[i]; } sort (b1, b1+j1); sort (b2, b2+j2); j1 = 0, j2--; for (int i=1; i<=k; i++) { if (i%2==0 && i%3) a[i] = b1[j1++]; else if (i%3==0) a[i] = b2[j2--]; } for (int i=1; i<k; i++) printf ("%d ", a[i]); printf ("%d\n", a[k]); } return 0;}
1 0
- zzuli 1812: sort
- zzuli--1812--sort(模拟水题)
- 1812: sort
- zzuli 1530
- zzuli 1731
- zzuli 1895
- zzuli 1904
- zzuli D
- zzuli-1919
- zzuli 1921
- zzuli 1922
- zzuli 1919
- zzuli 1895
- zzuli 1916
- 一棵树呀一棵树~~~zzuli
- zzuli 2133
- ZZULI-OJ1001
- zzuli-oj1002
- 问题解决记录 - KRBD Map失败
- node.js 入门笔记
- Android来电,显示悬浮窗
- 用户空间与内核空间,进程上下文与中断上下文[总结]
- ActionBarSherlock导入Android Studio gradl额failed
- zzuli 1812: sort
- springmvc带文件上传的form表单提交,用 jquery的ajaxfileupload或使用dropzone上传图文详解
- 基于catalog 创建RMAN存储脚本
- C# 关键字extern用法
- 4阶b树与红黑树
- js浏览器和浏览器插件检测的方法总结
- HDU 1074—压缩DP
- ScrollView嵌套ListView只显示一行之计算的高度不正确的解决办法
- ThinkPHP十数据分页和自定义工具