USACO-Section2.1 Sorting a Three-Valued Sequence(排序)
2017-8-7
题目描述
给定的一个1,2,3组成的数字序列,排成升序所需的最少交换次数
解答
将结果与所给情况进行比较,相等不用处理,对应相反直接交换即可,否则进行处理
代码
/*
ID: 18795871
PROG: sort3
LANG: C++
*/
#include<iostream>
#include<cstring>
#include<fstream>
using namespace std;
const int N = 1000;ifstream fin("sort3.in");
ofstream fout("sort3.out");int x[N+1],y[N+1];
bool f[N+1];
int cnt=0,n,x1,x2,x3;void init(){int i;for (i=1;i<=x1;i++) y[i]=1;for (i=x1+1;i<=x1+x2;i++) y[i]=2;for (i=x1+x2+1;i<=x1+x2+x3;i++) y[i]=3;
}void cal(){int i,j;int ss=0;for (i=1;i<=n;i++){if (x[i]==y[i]) f[i]=true;}for (i=1;i<=n;i++){if (!f[i]){for (j=i+1;j<=n;j++){if (!f[j]&&x[i]==y[j]&&x[j]==y[i]){ //对应相反直接交换 cnt++;f[i]=true;f[j]=true;break;}}}}int s=0;for (i=1;i<=n;i++){if (!f[i]) s++;}if (s!=0) fout<<s/3*2+cnt<<endl;else fout<<cnt<<endl;
}int main()
{fin>>n;x1=0,x2=0,x3=0;for (int i=1;i<=n;i++){fin>>x[i];if (x[i]==1) x1++;else if (x[i]==2) x2++;else x3++;}init();cal();return 0;
}
USACO-Section2.1 Sorting a Three-Valued Sequence(排序)相关推荐
- USACO Section2.1 Hamming Codes 解题报告 【icedream61】
hamming解题报告 ---------------------------------------------------------------------------------------- ...
- USACO Section2.2 Preface Numbering 解题报告 【icedream61】
preface解题报告 ---------------------------------------------------------------------------------------- ...
- USACO section2.4 Cow Tours题解代码
把max()和min()用反了过了6组也是挺醉的,USACO数据也会这么水23333 一道写起来有点麻烦的题目,并查集+floyd就可以了- /* ID:rainbow16 LANG:C++ TASK ...
- POJ 1094 Sorting It All Out (拓扑排序)
题意:给你一些大写字母间的偏序关系,然后让你判断能否唯一确定它们之间的关系,或者所给关系是矛盾的,或者到最后也不能确定它们之间的关系. 由DAG图节点的偏序关系确定节点的排序可以由拓扑排序求出.而 ...
- PAT甲级1052 Linked List Sorting:[C++题解]链表排序
文章目录 题目分析 题目链接 题目分析 题意:给定数据(里面有不构成链表的数据,若是,则跳过),是链表的构成链表.然后根据数值大小重新排序,构成新的链表. 分析:用数组模拟链表,先建立链表.遍历链表, ...
- Sorting It All Out 拓扑排序+确定点
这一道题的话 数据有一点问题 ........ 例如 不过 还是 能理解一下 试试吧 ......... 3 5 A<B B<C C<A A<C B&l ...
- POJ - 1094 Sorting It All Out(拓扑排序+floyd传递闭包)
题目链接:点击查看 题目大意:给出N个点以及M个比较关系,问在第几个数字可以确定出唯一的序列,或者判断出矛盾的序列,或者最后也无法确定出一个唯一的序列 题目分析:关于这个题目可以直接分类讨论,可以直接 ...
- nyoj349 poj1094 Sorting It All Out(拓扑排序)
nyoj349 http://acm.nyist.net/JudgeOnline/problem.php?pid=349 poj1094 http://poj.org/problem?id=1 ...
- 排序算法——选择排序法(Select Sorting)
选择排序(Select Sorting) 基本介绍 选择排序也属于内部排序法,是从预排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的 选择排序思想 选择排序(Selec ...
- java python算法_用Python,Java和C ++示例解释的排序算法
java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...
最新文章
- TFRecord tf.train.Feature
- c语言知道算法写不出代码,这个代码怎么写算法啊,求教,我真的不会写算法怎么办#incl...
- “硅谷之父”传奇:拯救斯坦福大学、培养大批高科技人才、指导创立惠普
- mysql画事实表_sql生成事实表数据库
- 选哪扇门得奖金的算法
- ?为什么要学这个技术(有什么优秀的地方,可以解决哪些问题?
- PHP开发电脑网站支付宝支付详细流程(沙箱测试篇)
- 报错 插入更新_自增主键,三类插入测验答案,在这里。
- 51nod 1011 最大公约数GCD
- awr报告分析 mysql_4个MySQL优化工具,帮你准确定位数据库瓶颈!
- 【渝粤题库】国家开放大学2021春1044合同法题目
- live555的安装 RTSP点播消息流程实例(客户端:VLC, RTSP服务器:LIVE555 Media Server)
- 使用ETags减少Web应用带宽和负载
- 机器学习基础(三十一)—— 岭回归(Ridge Regression)到 LASSO
- cocos2d-x使用python创建vs模板
- 计算机视觉方向大创题目,关于开展2020年大创项目学生选题或自拟题目申报工作的通知...
- 使用键盘设置桌面计算机图标的显示不出来,显示桌面,小编教你显示桌面图标不见了如何恢复...
- python md5解密方法与技巧_python ---- 爬取 md5解密结果 的小脚本
- Arduino入门(一)
- Android实现横幅通知
热门文章
- centos python_在centos上配置python的虚拟开发环境
- The Innovation | 中国开启肿瘤CAR-T治疗新时代
- 画个火山图,标记下基因的名字
- ubuntu下gvim启动出现gtk warning Invalid input string
- 人工智能 量子力学 时间简史 山海经 三体
- 《小学生C++趣味编程》 第23课 打车费用
- 简述python的安装过程_python3+ selenium3开发环境搭建-手把手教你安装python(详细)...
- java程序优化快捷键_Java 代码中针对性能优化的总结方案
- spring 数组中随机取几个_准备几个月,面试阿里耗时两周,最终凭借这些知识拿下阿里offer...
- NiceScroll文档阅读笔记-NiceScroll(3.7.6)基本使用