CF 335 div.2-A/606A Magic Spheres(读错题意系列)

来源:互联网 发布:21端口查看 编辑:程序博客网 时间:2024/04/20 17:21

题目链接:http://codeforces.com/problemset/problem/606/A

题意:有蓝、紫、橙三种颜色的小球,已知各有a,b,c个,现在想要得到至少x,y,z个,其中有一个转换规则,就是消耗两个相同颜色的小球可以得到一个其他颜色的小球。给定a、b、c和x、y、z,求是否能得到想要的结果。

解:首先,读错题意系列,如果a>x&&b>y&&c>z的话,就是Yes。

否则,如果有一种颜色有少的,假设一共少m个,就是说,至少要进行m次转换。

又因为每次转换需要消耗两个相同颜色的小球,所以,计算每个颜色比最低要求多的数目,然后让这个数整除2,把所得到的相加,

若>=m,则是Yes,否则就是No。


#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;int main(){//freopen("input.txt", "r", stdin);int a[3], x[3], ans = 0;for (int i = 0; i < 3; ++i)scanf("%d", &a[i]);for (int i = 0; i < 3; ++i){scanf("%d", &x[i]);if (a[i] - x[i] < 0)ans += a[i] - x[i];elseans += (a[i] - x[i]) / 2;}if (ans < 0)printf("No\n");elseprintf("Yes\n");//system("pause");//while (1);return 0;}

0 0
原创粉丝点击