Codeforces Round #441 (Div. 2)【A、B、C、D】

Codeforces Round #441 (Div. 2)

 

codeforces 876 A. Trip For Meal(水题)

题意:R、O、E三点互连,给出任意两点间距离,你在R点,每次只能去相邻点,要走过n个点,求走过的最短距离。

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 int main() {
 6     int n, a, b, c;
 7     scanf("%d%d%d%d", &n, &a, &b, &c);
 8     if(n==1) puts("0");
 9     else printf("%d\n", (n-2) * min(a, min(b,c)) + min(a,b));
10     return 0;
11 }
30ms

codeforces 876 B. Divisiblity of Differences(水题)

题意:有N个数,要从中选出K个,要求选出的数相减后都能整除m,求能都选出K个数,并输出选出的数。

题解:容易发现选出的数一定是 对m取余相同 的一类数,将每类数存起来,大于K个则输出这一类。

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<vector>
 5 using namespace std;
 6 typedef long long ll;
 7 const int N = 100005;
 8 int a[N];
 9 vector<int>c[N];
10 int main() {
11     int n, k, m, i, j, f = 0;
12     for(i = 0; i < N; ++i) c[i].clear();
13     scanf("%d%d%d", &n, &k, &m);
14     for(i = 1; i <= n; ++i) {
15         scanf("%d", &a[i]);
16         c[a[i]%m].push_back(i);
17     }
18     for(i = 0; i < m; ++i) {
19         if(c[i].size() >= k) {
20             puts("Yes");    f = 1;
21             for(j = 0; j < k-1; ++j) printf("%d ", a[c[i][j]]);
22             printf("%d\n", a[c[i][k-1]]);
23             break;
24         }
25     }
26     if(!f) puts("No");
27     return 0;
28 }
61ms

codeforces 875 A. Classroom Watch(暴力)

题意:给你n要求有几个x满足 x加上x的各个数位之和等于n,比如:x=100a+10b+c,n=x+a+b+c。

题解:暴力,枚举i(各个数位之和),令x=n-i再检验x是否满足题意。

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 int a[105];
 6 int main() {
 7     int n, i, j, x, y, cnt = 0;
 8     scanf("%d", &n);
 9     for(i = min(n-1,100); i >= 1; --i) {
10         x = n - i;  y = 0;
11         while(x) {y += x%10; x /= 10;}
12         if(y == i) a[cnt++] = n-i;
13     }
14     printf("%d\n", cnt);
15     for(i = 0; i < cnt; ++i) printf("%d\n", a[i]);
16     return 0;
17 }
15ms

codeforces 875 B. Sorting the Coins(模拟)

题意:一排n个位置,每次操作在p[i]位置放硬币,从左往右看,如果第i个位置有硬币,第i+1位置没有,则交换硬币(可以看看题目Note就好懂了,X0X0->0X0X是换了两次硬币,但这是一步,从左往右看一次是一步),直到无法再交换位置,求每次操作要几步。

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 const int N = 300005;
 6 int a[N];
 7 int main() {
 8     int n, i, x;
 9     scanf("%d", &n);
10     int m = n + 1;
11     printf("1");
12     for(i = 1; i <= n; ++i) {
13         scanf("%d", &x);
14         a[x] = 1;
15         while(a[m-1]) m--;
16         printf(" %d", i-n+m);
17     }
18     return 0;
19 }
155ms

 

不补题了,看不透英语。。。

 

posted @ 2017-10-16 23:46  GraceSkyer  阅读(422)  评论(0编辑  收藏  举报

~~~~~~ACM大牛语录,激励一下~~~~~~

为了世界的和平,为了女生的安全,我拼命做题,做题,做题!

用最短的时间,刷最多的题!

给我一滴泪,我就看到了你全部的海洋!

seize the hour, seize the day.

人生难免有无奈,幸福走远了,或是感叹幸福来迟了.其实我一直相信,无论手中的幸福是多么微不足道的感觉,我会把握住那每一分,每一秒,当幸福依旧像那百鸟般飞逝,终究无法掌握时,我会感谢它,曾经降临过!

A自己的题,让别人郁闷去吧

WA肠中过,AC心中留 TLE耳边过,AC特别牛

天然的悲苦和伤逝,过去有过,以后还会有

^*^一步一步往上爬^*^

AC就像练级,比赛就像PK. 练级不如PK好玩

其实,世上本没有ACM,AC的人多了,也便有了!

AC无止尽~ Seek you forever~

找呀找呀找水题,找到一个AC一个呀!

AC是检验程序的唯一标准。

真的猛士,敢于直面惨淡的人生,敢于正视淋漓的鲜血……