Codeforces Round #190 (Div. 2) 水果俩水题
2013-06-29 02:02
357 查看
后天考试,今天做题,我真佩服自己。。。
这次又只A俩水题。。。
orz各路神犇。。。
话说这次模拟题挺多。。。
半个多小时把前面俩水题做完,然后卡C,和往常一样,题目看懂做不出来。。。
A:
算是模拟吧,反正看懂题目后很可耻的生硬水果,没被hack我觉得非常开心。。。
由于要求两个人至少一个没跳过,画图后发现很偷懒的方法。
虽然跟样例不同,但过了。。。
B:
本来直接全部做成最大纯色,然后考虑杂色,wa了。
发现想错了,比如3 5 5,如果按原来想法会得出3,而它可以先做两个纯色为3 2 2,然后做2个混色为1 0 0。
于是想出算法,比赛时没被room里面的大神没被hack,事后发现过不了新加的数据15。。。
太晚碎觉,明天看吧。。。
下面是原来的代码:
重判错了,发现两个错误:
当min(1, 3, 3)时返回1,其实可以做出两个的,于是改了下。
当输入里面有0时会出错(感谢@CS_liuqing 童鞋的指出)。
修改后A过了(蒻菜的代码很蒻):
C:
模拟题,其实不是。。。模拟起来必须超时。。。
思路到后面已经有了,拖拉太久时间不够。
三鲜大神说:A 的意思就是 kx + b = y,判断整除就可以了。
膜拜中。
赛后写出来的题解
这里是只水水题的水果君,转载请注明。
http://blog.csdn.net/hcbbt
这次又只A俩水题。。。
orz各路神犇。。。
话说这次模拟题挺多。。。
半个多小时把前面俩水题做完,然后卡C,和往常一样,题目看懂做不出来。。。
A:
算是模拟吧,反正看懂题目后很可耻的生硬水果,没被hack我觉得非常开心。。。
由于要求两个人至少一个没跳过,画图后发现很偷懒的方法。
虽然跟样例不同,但过了。。。
#include <cstdio> int main() { int n, m; scanf("%d%d", &n, &m); printf("%d\n", n + m - 1); for (int i = 1; i <= m; i++) printf("1 %d\n", i); for (int i = 2; i <= n; i++) printf("%d 1\n", i); return 0; }
B:
本来直接全部做成最大纯色,然后考虑杂色,wa了。
发现想错了,比如3 5 5,如果按原来想法会得出3,而它可以先做两个纯色为3 2 2,然后做2个混色为1 0 0。
于是想出算法,比赛时没被room里面的大神没被hack,事后发现过不了新加的数据15。。。
太晚碎觉,明天看吧。。。
下面是原来的代码:
#include <cstdio> long min(long a, long b, long c) { if (a > b) a = b; if (c > a) c = a; return c; } int main() { long r, g, b; long sum = 0; scanf("%ld%ld%ld", &r, &g, &b); sum += r/3 + g/3 + b/3; r % 3 == 0 ? r = 3, sum-- : r = r % 3; g % 3 == 0 ? g = 3, sum-- : g = g % 3; b % 3 == 0 ? b = 3, sum-- : b = b % 3; sum += min(r, g, b); printf("%ld\n", sum); return 0; }
重判错了,发现两个错误:
当min(1, 3, 3)时返回1,其实可以做出两个的,于是改了下。
当输入里面有0时会出错(感谢@CS_liuqing 童鞋的指出)。
修改后A过了(蒻菜的代码很蒻):
#include <cstdio> long func(long a, long b, long c) { if ((c == 1 && a == 3 && b == 3) || (b == 1 && a == 3 && c == 3) || (a == 1 && b == 3 && c == 3)) return 2; if (a > b) a = b; if (c > a) c = a; return c; } int main() { long r, g, b; long sum = 0; scanf("%ld%ld%ld", &r, &g, &b); sum += r/3 + g/3 + b/3; if (r && g && b) { r % 3 == 0 ? r = 3, sum-- : r = r % 3; g % 3 == 0 ? g = 3, sum-- : g = g % 3; b % 3 == 0 ? b = 3, sum-- : b = b % 3; sum += func(r, g, b); printf("%ld\n", sum); } else printf("%ld\n", sum); return 0; }
C:
模拟题,其实不是。。。模拟起来必须超时。。。
思路到后面已经有了,拖拉太久时间不够。
三鲜大神说:A 的意思就是 kx + b = y,判断整除就可以了。
膜拜中。
赛后写出来的题解
这里是只水水题的水果君,转载请注明。
http://blog.csdn.net/hcbbt
相关文章推荐
- Codeforces Round #190 (Div. 2) 水果俩水题
- Codeforces Round #259 (Div. 1) A. Little Pony and Expected Maximum 数学公式结论找规律水题
- 【Codeforces Round 330 (Div 2)A】【水题】Vitaly and Night 多少间房间有人
- Codeforces Round #360 (Div. 2) A. Opponents(水题)
- Codeforces Round #335 (Div. 2) A. Magic Spheres 水题
- 【Codeforces Round 370 (Div 2) A】【水题】Memory and Crow
- Codeforces Round #190 (Div. 2)-C. Ciel and Robot
- Codeforces Round #190 (Div. 2)---A. Ciel and Dancing
- ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined)A. A Serial Killer(水题)
- Codeforces Round #425 (Div. 2) A - Sasha and Sticks【水题】
- Codeforces Round #375 (Div. 2) A. The New Year: Meeting Friends 水题
- Codeforces Round #190 (Div. 2)(完全)
- [置顶] Codeforces Round #190 (Div. 2)(完全)
- 【Codeforces Round 365 (Div 2)A】【水题】Mishka and Game
- 【Codeforces Round 367 (Div 2) A】【水题】Beru-taxi
- 【Codeforces Round 354 (Div 2)A】【水题 贪心】Nicholas and Permutation 恰好交换一次的pos[n]-pos[1]
- 【Codeforces Round 345 (Div 2) A】【贪心 水题】Joysticks 2个操纵杆一个充电器 最长蓄电时间
- Codeforces Round #383 (Div. 2) A. Arpa’s hard exam and Mehrdad’s naive cheat(快速幂水题)
- 【Codeforces Round 276 (Div 2)B】【水题】Valuable Resources 最小正方形包含所有点
- 【Codeforces Round 272 (Div 2)A】【贪心 暴力 水题】Dreamoon and Stairs n个台阶每次走一步或两步是否有步数恰好为m倍数