/* ID: lucien23 PROG: sort3 LANG: C++ */ #include <iostream> #include <fstream> #include <vector> #include <algorithm> using namespace std; void exchange(int nums[], int begin, int end, int N, int x); int sum = 0; int main() { ifstream infile("sort3.in"); ofstream outfile("sort3.out"); if(!infile || !outfile) { cout << "file operation failure!" << endl; return -1; } int N; infile >> N; int *nums = new int[N]; int count1, count2, count3; count1 = count2 = count3 = 0; for (int i=0; i<N; i++) { infile >> nums[i]; switch (nums[i]) { case 1: count1++; break; case 2: count2++; break; case 3: count3++; break; default: break; } } exchange(nums, 0, count1, N, 1); exchange(nums, count1, count1+count2, N, 2); outfile << sum << endl; return 0; } /* *交换时将大的交换到后面,小的交换到前面 */ void exchange(int nums[], int begin, int end, int N, int x) { int count0 = 0; vector<int> vecNum; for (int i=begin; i<end; i++) { if (nums[i] != x) { count0++; vecNum.push_back(nums[i]); nums[i] = x; } } sum += count0; sort(vecNum.begin(), vecNum.end()); for (int i=end, j=0; i<N && count0>0; i++) { if (nums[i] == 1) { nums[i] = vecNum[j]; j++; count0--; } } }
USACO Section 2.1 Sorting a Three-Valued Sequence
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:Eclipse SVN插件的帐号、password改动
下一篇:关于中文分词
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
详解数仓对象设计中序列SEQUENCE原理与应用
本文介绍了SEQUENCE的使用场景和相关的函数的使用方法,并对使用SEQUENCE过程中遇到的常见问题及解决方法进行了汇总。
字段 数据库 序列号 SEQUENCE GaussDB(DWS) -
USACO Section 2.1 Sorting A Three_Valued Sequence - 应该有更好的方法
题目的意思是有一列数只由1,2,3组成~~~需要咱们将1放在
sorting c #include i++ ios -
USACO Section 2.1 - Healthy Holsteins 二进制枚举
这道题写了很久~用了好多方法~~最开始想要先按长度再按从小
c #include i++ ios -
USACO section 2.1 Healthy Holsteins(枚举,二进制存储)
Healthy HolsteinsBurch & Kolstad Farmer John prides himself on having th
存储 combinations each integer output -
USACO Section 2.1 Hamming Codes - 题意相当坑爹..很无聊..
就算AC了我也弄不明白输入里的B到底是要干啥~~我的程
c #include i++ ios -
POJ1164 + USACO Section 2.1 The Castle - 简单的DFS...
两个题是一个题~~只不过POJ的更弱些,只要找到房间数以及最大房间的面积就ok了... 首先是构造墙~~我是用个4位的bool数
search struct c #include i++ -
P1459 三值的排序 Sorting a Three-Valued
题目描述排序是一种很频繁的计算任务。现在考虑...
升序 输入输出 #include i++ 换出