Educational Codeforces Round 34 (Rated for Div. 2)
2017-12-13 16:57
549 查看
这是我这个弱渣第一次正儿八经打codeforce的比赛
只水出来A题一道签到题,B题和C题只是有思路 但是并没有写出来 至于D E F就根本没有看 可能没有挑战的欲望吧 以后就算做不出来也会想一想思路的总结一下 还是算法理解的不透彻 做题做的不够多 思路不够开阔
而且自己就掌握那一点算法 总是想着用 画蛇添足
看别人的代码是真的感受到了算法的魅力 简洁 大方
赶紧抓紧复习完 然后就可以愉快的写一个寒假的代码啦
接下来开始看一看题目
A
问题简述:本质上就是拿糖问题 一次拿3个或者7个 给定糖果的数量 求是否能拿糖成功自己的写法dfs
#include<iostream> using namespace std; void dfs(int ans,int a); int step[] = { 3,7 }; bool flag; int main() { int T; int a; cin >> T; while(T--) { cin >> a; flag = false; dfs(0, a); if (flag == true) cout << "YES" << endl; else cout << "NO" <<endl; } } void dfs(int ans, int a) { int i; int dans; for (i = 0; i < 2; i++) { dans = step[i]+ans; if (dans < a) dfs(dans, a); if(dans==a) { flag = true; return; } if (dans > a) return; } }
大神的写法
int main() { int n, a; cin >> n; for (int i = 0; i < n; ++i) { cin >> a; bool flag = 0; for (int j = 0; j < a && j * 3 <= a; ++j) { for (int z = 0; z < a && j * 3 + z * 7 <= a; ++z) { if (j * 3 + z * 7 == a) { cout << "YES\n"; flag = 1; break; } } if (flag) break; } if (!flag) cout << "NO\n"; } }
由于数据量并不是很大 所以说直接暴力搜索就好了 这种每次拿几个的题目如果情况不是很多的话暴力求解还ok
B
问题简述:打怪升级 并输出过程自己的想法:第一开始想到的是bfs 然后后面不会写。。。输出的过程 就这样这道题没什么思路
大神的写法
我觉得是最朴实 最简单 最有效的方法吧#include <bits/stdc++.h> using namespace std; int main() { int h1, a1, c1, h2, a2, cnt = 0; cin >> h1 >> a1 >> c1 >> h2 >> a2; vector<string> ans; while (h2 > 0) { if (a2 < h1 || h2 - a1 <= 0) { ans.push_back("STRIKE"); h2 -= a1; h1 -= a2; } else { ans.push_back("HEAL"); h1 += c1; h1 -= a2; } } cout << ans.size() << '\n'; for (int i = 0; i < ans.size(); ++i) cout << ans[i] << '\n'; }
这题没做出来不应该的
C
问题简述:放盒子问题 要求盒子按大小排放 然后里面有盒子的不能继续放盒子自己的想法:一开始想到是贪心法 就类似于剪木板 求开销最小的那题 也就是说 两个数最小的一定是树的相同级数之后再分上一层之类的
大神的写法
#include <bits/stdc++.h> using namespace std; int main() { int n, a; cin >> n; map<int, int> c; for (int i = 0; i < n; ++i) { cin >> a; c[a]++; } int sol = 0; for (auto p : c) { sol = max(sol, p.second); } cout << sol << '\n'; }
emmmm我没看懂。。。
就这样吧 等有时间来填这次比赛的坑,或者等我变强一点再来填坑(不存在的
相关文章推荐
- Educational Codeforces Round 34 (Rated for Div. 2) C - Boxes Packing
- Educational Codeforces Round 34 (Rated for Div. 2) D - Almost Difference
- Codeforece Educational Codeforces Round 34 (Rated for Div. 2) (A-D)题解
- Educational Codeforces Round 34 (Rated for Div. 2) A-C 题解
- Educational Codeforces Round 34 (Rated for Div. 2) E. Swapping Characters(暴力)
- Educational Codeforces Round 34 (Rated for Div. 2) D - Almost Difference
- Educational Codeforces Round 34 (Rated for Div. 2) D. Almost Difference(高精度)
- Educational Codeforces Round 34 (Rated for Div. 2)
- Educational Codeforces Round 34 (Rated for Div. 2) D - Almost Difference
- Educational Codeforces Round 34 (Rated for Div. 2)B. The Modcrab(贪心)
- Educational Codeforces Round 34 (Rated for Div. 2)D. Almost Difference(数学)
- Educational Codeforces Round 42 (Rated for Div. 2) D - Merge Equals
- 【Educational Codeforces Round 48 (Rated for Div. 2) C】 Vasya And The Mushrooms
- Educational Codeforces Round 36 (Rated for Div. 2) 题解
- Educational Codeforces Round 39 (Rated for Div. 2) E Largest Beautiful Number
- Educational Codeforces Round 37 (Rated for Div. 2)(A、B、C)
- Educational Codeforces Round 37 (Rated for Div. 2)F. SUM and REPLACE
- Educational Codeforces Round 37 (Rated for Div. 2) C. Swap Adjacent Elements
- Educational Codeforces Round 38 (Rated for Div. 2)A. Word Correction
- Educational Codeforces Round 33 (Rated for Div. 2) A - Chess For Three