Codeforces Round #187 (Div. 2) 只水果两题。。。

来源:互联网 发布:淘宝开店怎么刷销量 编辑:程序博客网 时间:2024/04/29 14:37
再一次证明我就是水水题的水果,今晚的cf就水了前两题,然后就束手无策了。。。
但是我还是厚脸皮的贴出前两题代码。。。
明天去找大神博客膜拜后面几题吧。。。
A
水!题目看了挺长时间,一开始还以为是并查集,想了15分钟后发现数据很小,暴力n^2能过。

于是暴力水果了。

#include <cstdio>#define maxn 1010int main(){//    freopen("in", "r", stdin);    bool t[maxn] = {0};    int c[maxn][2];    int n, cnt = 0;    scanf("%d", &n);    for (int i = 0; i < n; i++)        scanf("%d%d", &c[i][0], &c[i][1]);    for (int i = 0; i < n; i++)        for (int j = 0; j <= n; j++)        {            if (i == j) continue;            if (c[i][1] == c[j][0])//暴力标记能开的瓶子                t[j] = true;        }    for (int i = 0; i < n; i++)        if (t[i])            cnt++;    printf("%d\n", n - cnt);    return 0;}



B
同水!
感觉很像C基础入门那种书里面的题目。。。
照着写了交上去在第11个测试点上面卡住了,目测是某位大神提交的测试点吧。。。
于是搞了个变化数而不是遍历去修改数组,水果了。。。

#include <cstdio>#define maxn 100010int main(){ //   freopen("in", "r", stdin);    int n, m;    long a[maxn], change = 0;//change就是变化量    scanf("%d%d", &n, &m);    int op;    for (int i = 0; i < n; i++)        scanf("%ld", &a[i]);    while (m--)    {        scanf("%d", &op);        if (op == 1)        {            int v, x;            scanf("%d%d", &v, &x);            a[v-1] = x - change;        }        else if (op == 2)        {            long tmp;            scanf("%ld", &tmp);            change += tmp;        }        else        {            int tmp;            scanf("%d", &tmp);            printf("%ld\n", a[tmp-1] + change);        }    }    return 0;}



其他题亚历山大,我还修行不够。。。坐等大神题解。。。

原创粉丝点击