Codeforces Round #184 (Div. 2)
2015-09-21 21:13
459 查看
A. Strange Addition
题目链接:http://codeforces.com/problemset/problem/305/A 题目意思:给出一个序列,需要从中选择一些数,这些数需要满足:任意两个数,这两个数的每一对应位上(即个位对个位,十位对十位 ......),至少存在一个 0。求最多选出多少个数? 数据范围是(0 ~ 100) 思路: 由数据范围 最多的个数是4 个,对于特殊的 100和0 与任何数成对都满足条件,所以只要存在就要选上。为满足最多,因为x0 可以与 x 同时存在,但不可以与xy(y!= 0)同时存在, 接下来 选择x0型的和x型的,如果存在就选上。接下来就是要判断是否选上xy(y!= 0)型的。因为不知道xy型出现的位置,可以用一个变量z记录最后出现的xy型的数。按顺序判断完后,在判断是否有x0型的或x型的存在。如果不存在,就将z选上。 |
#include<cmath> #include<cstdio> #include<vector> #include<cstring> #include<iostream> #include<algorithm> using namespace std; typedef long long ll; int main() { ll p , q , a; int n , flag = 0; cin>>p>>q>>n; // cout<<p<<q<<endl; for(int i = 0;i < n;i ++) { cin>>a; if(q <= 0 || a > ( p/q ))//当q 为0要跳出循环 { flag = 1; break; } p = p - a * q; // 乘p 模拟 // cout<<p<<endl; swap(p,q); } if(flag != 1) { if(q == 0) printf("YES\n"); else printf("NO\n"); } else printf("NO\n"); return 0; }
View Code
相关文章推荐
- bzoj1677:求和
- linux cat
- 农村借贷会是网络巨头的下一个角斗场吗?
- Spring IoC 详解(上篇)
- error: No resource identifier found for attribute 'XXX' in package 'xxxxx'
- 汉诺塔问题是使用递归解决问题的经典范例。
- JS事件绑定深入
- C# 中 comboBox 禁止输入
- 【Matlab学习笔记】【函数学习】eps
- 安卓:AsyncTaskLoader及时获取数据库中数据,点菜单转另一个APP操作数据
- Majority Element II
- Android AlertDialog对话框 学习笔记
- Android Studio 导出 APK
- nefu1039超级超级简单的英文题==
- 进程间通信
- 数据库的三大范式
- 【转】django的ORM操作数据库样例
- bugFree环境搭建 及 bugFree环境搭建常见问题
- 在iOS 8中使用UIAlertController
- QTbutton设置背景颜色和文字显示位置设置