标签:style blog color os io ar for 2014 div
A题
简单模拟。
1 /*************************************************************************
2 > File Name: A.cpp
3 > Author: Stomach_ache
4 > Mail: sudaweitong@gmail.com
5 > Created Time: 2014年09月01日 星期一 08时08分12秒
6 > Propose:
7 ************************************************************************/
8
9 #include <cmath>
10 #include <string>
11 #include <cstdio>
12 #include <string>
13 #include <fstream>
14 #include <cstring>
15 #include <iostream>
16 #include <algorithm>
17 using namespace std;
18 /*Let‘s fight!!!*/
19
20 int n;
21 string s;
22 double a, f;
23
24 int main(void) {
25 while (cin >> n) {
26 cin >> s;
27 cin >> a >> f;
28
29 double sum = 0.0;
30 int m = (int)s.length();
31 bool flag = true;
32 for (int i = 0; i < m; i++) {
33 if (s[i] == ‘L‘) sum -= a;
34 else sum += a;
35 if (sum >= f || sum <= -f) {flag = false; break;}
36 }
37 printf("%s\n", flag ? "YES" : "NO");
38 }
39
40 return 0;
41 }
B题
判断最大值和剩下的值的和的关系
1 /*************************************************************************
2 > File Name: B.cpp
3 > Author: Stomach_ache
4 > Mail: sudaweitong@gmail.com
5 > Created Time: 2014年09月01日 星期一 14时26分17秒
6 > Propose:
7 ************************************************************************/
8
9 #include <cmath>
10 #include <string>
11 #include <cstdio>
12 #include <fstream>
13 #include <cstring>
14 #include <iostream>
15 #include <algorithm>
16 using namespace std;
17 /*Let‘s fight!!!*/
18
19 int n, m;
20
21 int main(void) {
22 ios::sync_with_stdio(false);
23 while (cin >> m >> n) {
24 long long sum = 0, t = -1, a;
25 for (int i = 0; i < m; i++) cin >> a, t = max(t, a), sum += a;
26 sum -= t;
27 if (t > sum + 1) cout << "NO\n";
28 else cout << "YES\n";
29 }
30 return 0;
31 }
C题
模拟。
1 /*************************************************************************
2 > File Name: C.cpp
3 > Author: Stomach_ache
4 > Mail: sudaweitong@gmail.com
5 > Created Time: 2014年09月01日 星期一 14时32分40秒
6 > Propose:
7 ************************************************************************/
8 #include <map>
9 #include <cmath>
10 #include <string>
11 #include <vector>
12 #include <cstdio>
13 #include <fstream>
14 #include <cstring>
15 #include <iostream>
16 #include <algorithm>
17 using namespace std;
18 /*Let‘s fight!!!*/
19
20 int vis[100050];
21
22 int main(void) {
23 ios::sync_with_stdio(false);
24 int n;
25 while (cin >> n) {
26 map<string, int> var;
27 vector<string> s(n + 1);
28 for (int i = 1; i <= n; i++) cin >> s[i];
29 memset(vis, 0, sizeof(vis));
30
31 for (int i = 1; i <= n; i++) {
32 if (var.find(s[i]) == var.end()) var[s[i]] = 1;
33 else var[s[i]]++;
34 if (!vis[var[s[i]]]) vis[var[s[i]]] = i;
35 }
36 for (int i = 1; i <= n && vis[i]; i++) cout << i << ‘ ‘ << s[vis[i]] << endl;
37 }
38
39 return 0;
40 }
D题
从后往前计算,判断当前点在左上或者右上或者左下或者右下,然后分别乘以不同的系数,并且更新点的位置。
1 /*************************************************************************
2 > File Name: D.cpp
3 > Author: Stomach_ache
4 > Mail: sudaweitong@gmail.com
5 > Created Time: 2014年09月01日 星期一 14时56分31秒
6 > Propose:
7 ************************************************************************/
8
9 #include <cmath>
10 #include <string>
11 #include <cstdio>
12 #include <fstream>
13 #include <cstring>
14 #include <iostream>
15 #include <algorithm>
16 using namespace std;
17 /*Let‘s fight!!!*/
18
19 int t, a, b, c, d, x, y;
20 typedef long long LL;
21
22 int main(void) {
23 ios::sync_with_stdio(false);
24 cin >> t;
25 while (t--) {
26 int n;
27 cin >> n;
28 cin >> a >> b >> c >> d;
29 cin >> x >> y;
30
31 int times = 0;
32 while ((1<<times) < max(x, y)) times++;
33 LL ans = 1;
34 while (times--) {
35 if (x <= (1<<times)) {
36 if (y <= (1<<times)) ans *= a;
37 else ans *= b, y -= 1<<times;
38 } else {
39 x -= 1<<times;
40 if (y <= (1<<times)) ans *= c;
41 else ans *= d, y -= 1<<times;
42 }
43 }
44 cout << ans << endl;
45 }
46
47 return 0;
48 }
E题
比赛时候没有过。可以先枚举角度(从0到2*pi,每次加1e-7,加多了就会WA),求得系数。
1 /*************************************************************************
2 > File Name: E.cpp
3 > Author: Stomach_ache
4 > Mail: sudaweitong@gmail.com
5 > Created Time: 2014年09月01日 星期一 15时34分16秒
6 > Propose:
7 ************************************************************************/
8
9 #include <cmath>
10 #include <string>
11 #include <cstdio>
12 #include <fstream>
13 #include <cstring>
14 #include <iostream>
15 #include <algorithm>
16 using namespace std;
17 /*Let‘s fight!!!*/
18
19 int main(void) {
20 /*double ans;
21 ans=0.0;
22 double pi = acos(-1.0);
23 for (double i = 0.0; i < 2 * pi; i += 0.0000001)
24 {
25 ans += sqrt(5.0 - 4.0 * cos(i));
26 }
27 ans /= 2 * pi * 10000000;
28 cout << ans << endl; */
29 int r;
30 while (cin >> r) cout << (int)(r * 2.12709) <<endl;
31 return 0;
32 }
F题
因为y-x < 1e4,以此作为着手点。先去掉Ai中大于y-x+1的系数,然后去重。
之后就转化为完全背包。
1 /*************************************************************************
2 > File Name: F.cpp
3 > Author: Stomach_ache
4 > Mail: sudaweitong@gmail.com
5 > Created Time: 2014年09月01日 星期一 19时14分48秒
6 > Propose:
7 ************************************************************************/
8 #include <set>
9 #include <cmath>
10 #include <string>
11 #include <cstdio>
12 #include <fstream>
13 #include <vector>
14 #include <cstring>
15 #include <iostream>
16 #include <algorithm>
17 using namespace std;
18 /*Let‘s fight!!!*/
19
20 int n, x, y, dp[10005];
21
22 int main(void) {
23 ios::sync_with_stdio(false);
24 while (cin >> n) {
25 cin >> x >> y;
26 int cnt = 0;
27 vector<int> a;
28 for (int i = 1; i <= n; i++) {
29 int tmp;
30 cin >> tmp;
31 if (tmp <= y - x + 1) a.push_back(tmp - 1);
32 }
33 sort(a.begin(), a.end());
34 a.erase(unique(a.begin(), a.end()), a.end());
35 cnt = a.size();
36 memset(dp, 0x3f, sizeof(dp));
37 int V = y - x;
38 dp[0] = 0;
39 for (int i = 0; i < cnt; i++) {
40 for (int j = a[i]; j <= V; j++) {
41 if (dp[j - a[i]] != 0x3f3f3f3f) dp[j] = min(dp[j], dp[j - a[i]] + a[i]);
42 }
43 }
44 if (dp[V] == 0x3f3f3f3f) puts("IMPOSSIBLE");
45 else puts("POSSIBLE");
46
47 }
48
49 return 0;
50 }
Clash Credenz 2014 Wild Card Round题解
标签:style blog color os io ar for 2014 div
原文地址:http://www.cnblogs.com/Stomach-ache/p/3952089.html