Gym 100803A — Bit String Reordering
来源:互联网 发布:淘宝里的表情 编辑:程序博客网 时间:2024/06/04 19:47
原博:http://blog.csdn.net/obsolescence/article/details/51999832
题目地址:Bit String Reordering
因为只有数字0和1,所以只有两种情况,以1开头和以0开头。分别记录数组中出现的1和0的个数。然后判断0和1开头哪个符合要求。若都符合取答案小的那个。
然后,根据输入的m个数,来把n中每一段取出来,经行处理,如果发现这一段中有不符合的,就在往后最近的位置找一个符合的,下标相减,就是移动的次数。为了方便,最好在存N个数的时候下标从1开始。
#include<stdio.h>#include<algorithm>using namespace std;int a1[20],a2[20],b[20],n,m;int funo(int j,int s1){ int i,ans=1000000; s1^=1; for(i=j+1;i<=n;i++) { if(a1[i]==s1) { ans=i-j; int t=a1[i]; a1[i]=a1[j]; a1[j]=t; break; } } return ans;}int funz(int j,int s2){ int i,ans=1000000; s2^=1; for(i=j+1;i<=n;i++) { if(a2[i]==s2) { ans=i-j; int t=a1[i]; a2[i]=a2[j]; a2[j]=t; break; } } return ans;}int main(){ while(scanf("%d%d",&n,&m)!=EOF) { int i,j,z,o,y,ans1,ans2,f,t; z=0; o=0; ans1=1000000; ans2=1000000; for(i=1;i<=n;i++) { scanf("%d",&a1[i]); if(a1[i]==1) o++; else z++; a2[i]=a1[i]; } y=0; for(i=1;i<=m;i++) { scanf("%d",&b[i]); if(i%2!=0) y+=b[i]; } if(y==o) { f=0,t=0; ans1=0; for(i=1,j=1;i<=m;i++) { for(j=t+1;j<=t+b[i];j++) { if(a1[j]==f) { ans1+=funo(j,a1[j]); } } f^=1; t+=b[i]; } } if(y==z) { f=1,t=0; ans2=0; for(i=1,j=1;i<=m;i++) { for(j=t+1;j<=t+b[i];j++) { if(a2[j]==f) { ans2+=funz(j,a2[j]); } } f^=1; t+=b[i]; } } printf("%d\n",min(ans1,ans2)); }}
阅读全文
0 0
- Gym 100803A — Bit String Reordering
- http://codeforces.com/gym/100803/attachments A题 Bit String Reordering
- Bit String Reordering
- Bit String Reordering
- Bit String Reordering UVALive
- UVALive 6832Bit String Reordering
- Uvalive 6832 Bit String Reordering
- CSU 1536 bit string reordering
- UVALive 6832Bit String Reordering
- Bit String Reordering(模拟题)
- UVALive 6832Bit String Reordering (模拟)
- UVALive - 6832 Bit String Reordering (找规律)
- 2014-2015 ACM-ICPC, Asia Tokyo Regional Contest A題:Bit String Reordering [bfs]
- 2014-2015 ACM-ICPC, Asia Tokyo Regional Contest A题 Bit String Reordering(暴力)
- CodeForces Gym 100803A
- Gym 100803A(贪心)
- Codeforces Gym 100325A String Decomposition 字符串DP
- Mirrored String I Gym
- 基于Java的链表实现
- MEMORY INSTRUCTIONS: LOAD AND STORE
- 处理JSON数据中含有双引号??
- Hadoop学习日志之CAP
- Twitter-Snowflake,64位自增ID算法详解
- Gym 100803A — Bit String Reordering
- java初2017.7.17学习总结
- 【每日一题-5】复杂链表的复制
- CentOS yum 源的配置与使用
- css的选择器
- 递归法求数组中的最大数
- Spring配置文件中的Bean之间的关系
- uva1625 Color Length
- 写一个函数,返回一个数组中所有元素被第一个元素相除的结果