1254 Flip and Shift
2015-10-27 00:44
218 查看
这题是目的是把黑球和白球分开连续放,事实上只要把其中一种颜色分好在一边就可以,可以绕一个球转即是第n个球可以放在n-2或者n+2上,因为这是个环,所以只需要把黑球或者白球连续放好就可以,当一共有奇数个球时,如:7个 x 1 0 1 0 1 0(x为任意颜色球)——x一开始是为奇位,然后开始把x向右移动。0 1 x 1 0 1 0——0 1 0 1 x 1 0——0 1 0 1 0 1 x——0 x 0 1 0 1 1(注意这是环) 到这里x到了偶数位。。所以就是说当总球数为奇时奇偶位是可以互换的。所以当总球数为奇数时,无论如何都能分好。当总球数为偶数时,任意选一种球判断,我们假如分好了,那偶数位上的黑球和奇数位上黑球个数相差最大只能为1。所以以此判定
View Code
#include<stdio.h> #include<math.h> int a[30]; int main() { int n,sum,i,ji=0,ou=0; scanf("%d",&n); while(n--) { scanf("%d",&sum); for(i=0;i<sum;i++) { scanf("%d",&a[i]); if(a[i]==0&&i%2==0) ji++;\\判断白球在奇数位置有几个 else if(a[i]==0&&i%2!=0) ou++;\\判断白球在偶数位置有几个 } if(sum%2!=0||fabs(ou-ji)<=1) printf("YES\n"); else printf("NO\n"); } return 0; }
View Code
相关文章推荐
- Django 自定义管理员命令
- VS c2065 未声明的标识符 另外一种解决方案
- Codeforces Round #327 (Div. 2)B. Rebranding
- WAMP环境搭建
- Java Web项目中文乱码
- 关于CoreData和SQLite多线程访问时的线程安全问题
- Android Scrollview+Listview 实现不同条目点赞并计数功能及原理分析(2)
- 工薪青年如何通过组合投资来获得长期稳定10%收益?
- VC++ 判断文件或文件夹是否存在的快捷方法 _access
- XAMPP Error:Apache shutdown unexpectedly 解决方案
- XAMPP Error:Apache shutdown unexpectedly 解决方案
- 第36个故事
- Hello Play!
- Android 自定义View,实现滚动选择器PickerView
- 媒体查询
- 离线下载网盘
- 【Alpha】第五次Scrum meeting
- Codeforces Round #327 (Div. 2)A. Wizards' Duel
- 通过cat创建文件
- Scrum Meeting---Two(2015-10-26)