• UCF Local Programming Contest 2016


    题目链接:

    https://www.jisuanke.com/contest/7194?view=challenges

    /*
    正在播放《フリージア》
    1:21  ━━━━━━●─────   5:35
       ⇆   ◁   ❚❚   ▷   ↻
    ```````'`...```````''`````````````'````````````````'`.`''
    ```````''..`';;'```''```'''''''''''''`````````````````'':
    .````''''':;;!!:````'````'''''''''''``````````````````'':
    ``''''''':;;;;;'```'``````''```````````____________```'':
    `````````:;;!;'```````````'```````'```|   所以说   |'``'':
    ```````'|$&$%:````````````'```````````|不要停下来啊|''''':
    ````'''!$&&&|'```````````'''::''::''''/ (指AC)  |':'':::
    ````'':|&&&$!'`````'''''''::.....`;!;'/_________|''``'::
      ....'|&&@$!'........```:!;'....`:;:```````````````````'
    ..````;$&&&$!:''``````'':|%%!::;|%$$!::::::::''::::::::::
    ``````!&&@&&|:'````````':|$$$$$$$$$|:':::::::::::::::::::
    `````:%&@@@@@@@@&&&@@@@&&&&@@@@@@@&&&|::::::::':::::::::;
    `````.```':|$@@@@@@@@@@@@@@@@@@@@@@@@###@@&&$|;:::'::::::
    ````````````';|$&@@@@@@@@@###@@@@@@########@@@@$!''''::::
    `````````..````:|%$@@@@@#########@#########@@@@&!''''::::
    `````````````````:|&########################@@@$;::::::::
    ``````````````````:!$@########################@%;:::'::::
    ``````````..``````':|&#######################@@&!''''''::
    ''''::'''`.`''''''':|@#######################@@&|:'`.`';!
    :::::::::``'''''';%@######################@@##@@&!::'';;;
    ::;::::::`.''''';%@@@@####################$%@##@@%;:'':;!
    :;;;;::::``':;%@@@#########################&%&##@@|:'';;!
    ;;!;;;;;;'`::;%@#############################@@##@$!'';!!
    ;;;;;;;;:``':::::;|$@############################@$!'`;!!
    ::;;;;;;:'`'::::::;!$@#######################&&@$$$;``:;;
    `````````..````````'|@#####################$;!$$$&@@|''':
    '''''''''''''':'''''|@#########@&@##########@@####@@&%|!!
    ''''''''':'''::'':''!&########&!|&@##########&&####&%|!||
    :::::'''::::::::::::!&########|:;|$@#########@&###&%||||!
    :::::::'''''':::::::!&#######@!:;!!$@########@$&##@%||||!
    
                        だからよ...止まるじゃねえぞ
     */
    View Code

    A. Majestic 10

    题意:

    给你三个数判断有几个大于等于10,0个输出zilch,一个输出double,两个输出double-double,三个输出triple-double

    思路:

    #include <bits/stdc++.h>
    
    using namespace std;
    typedef long long ll;
    typedef pair<double, int> PII;
    const int N = 100000 + 5;
    const double eps = 1e-9;
    
    int main() {
        int n;
        cin >> n;
        while (n--) {
            int ans = 0;
            int a, b, c;
            cin >> a >> b >> c;
            if (a >= 10)
                ans++;
            if (b >= 10)
                ans++;
            if (c >= 10)
                ans++;
            cout << a << " " << b << " " << c << endl;
            if (ans == 0)
                cout << "zilch" << endl;
            else if (ans == 1)
                cout << "double" << endl;
            else if (ans == 2)
                cout << "double-double" << endl;
            else if (ans == 3)
                cout << "triple-double" << endl;
            if (n)
                cout << endl;
        }
        return 0;
    }
    View Code

    B. Phoneme Palindromes

    题意:

    博主太懒了,什么都没有写

    思路:

    博主太懒了,什么都没有写

    #include <bits/stdc++.h>
    
    using namespace std;
    typedef long long ll;
    typedef pair<double, int> PII;
    const int N = 500 + 5;
    const double eps = 1e-9;
    
    set<char> v[N];
    
    bool check(char a, char b) {
        for (auto i:v[a])
            if (i == b)
                return true;
        return false;
    }
    
    int main() {
        int t;
        cin >> t;
        for (int i = 1; i <= t; i++) {
            cout << "Test case #" << i << ":" << endl;
            int p;
            cin >> p;
            for (int j = 1; j <= p; j++) {
                getchar();
                char a, b;
                cin >> a >> b;
                v[a].insert(b);
                v[b].insert(a);
            }
            int n;
            cin >> n;
            string s;
            while (n--) {
                cin >> s;
                int l = 0, r = s.length() - 1;
                bool flag = true;
                while (l <= r) {
                    if (!(s[l] == s[r] || check(s[l], s[r]))) {
                        flag = false;
                        break;
                    }
                    l++;
                    r--;
                }
                cout << s << " ";
                if (flag)
                    cout << "YES" << endl;
                else
                    cout << "NO" << endl;
            }
            for (auto &j : v)
                j.clear();
            if (i != t)
                cout << endl;
        }
        return 0;
    }
    View Code

    D. Wildest Dreams

    题意:

     女儿在奇数时间段里在车上,偶数时间段不在车上
     一旦在车上就就要调到女儿喜欢的歌曲上
     女儿在车不管到了哪首歌,都要立即跳到女儿喜欢的歌,不在车就按列表循环播放,求爸爸听了女儿喜欢的歌多少秒

    思路:

    忘了,我想想

    #include <bits/stdc++.h>
    
    using namespace std;
    typedef long long ll;
    typedef pair<double, int> PII;
    const int N = 500 + 5;
    const double eps = 1e-9;
    
    int a[N];
    
    int main() {
        int t;
        cin >> t;
        for (int o = 1; o <= t; o++) {
            cout << "CD #" << o << ":" << endl;
            int n, p;
            cin >> n >> p;
            p--;
            for (int i = 0; i < n; i++)
                cin >> a[i];
            int x;
            cin >> x;
            while (x--) {
                ll ans = 0;
                int m;
                cin >> m;
                int now = 0, timer = 0;
                for (int i = 1; i <= m; i++) {
                    int pp;
                    cin >> pp;
                    if (i % 2) {
                        now = p;
                        timer = pp % a[p];
                        ans += pp;
                    } else {
                        if (timer == 0)
                            now = (now + 1) % n;
                        while (pp) {
                            if (now == p) {
                                if (a[now] - timer >= pp) {
                                    timer += pp;
                                    ans += pp;
                                    pp = 0;
                                } else {
                                    ans += a[now] - timer;
                                    pp -= a[now] - timer;
                                    timer = 0;
                                    now = (now + 1) % n;
                                }
                            } else {
                                if (a[now] - timer >= pp) {
                                    timer += pp;
                                    pp = 0;
                                } else {
                                    pp -= a[now] - timer;
                                    timer = 0;
                                    now = (now + 1) % n;
                                }
                            }
                        }
                    }
                }
                cout << ans << endl;
    
            }
    
            if (o != t)
                cout << endl;
        }
        return 0;
    }
    View Code

    E. Loopy Word Search

    题意:

    给你一个字母表,求给出的单词出现在字母表里的位置和方向

    思路:

    按题意来就行了,简单的暴力

    #include <bits/stdc++.h>
    
    using namespace std;
    typedef long long ll;
    typedef pair<double, int> PII;
    const int N = 500 + 5;
    const double eps = 1e-9;
    
    int r, c;
    string s[N];
    int xi[4] = {0, 1, 0, -1};
    int yi[4] = {1, 0, -1, 0};
    
    bool dfs(int len, int fang, int x, int y, string now) {
        int nowx = x;
        int nowy = y;
        for (int k = 1; k <= len; k++) {
            nowx = (nowx + xi[fang] + r) % r;
            nowy = (nowy + yi[fang] + c) % c;
            if (s[nowx][nowy] != now[k])
                return false;
        }
        return true;
    }
    
    int main() {
        int t;
        cin >> t;
        for (int k = 1; k <= t; k++) {
            cout << "Word search puzzle #" << k << ":" << endl;
            cin >> r >> c;
            for (int i = 0; i < r; i++)
                cin >> s[i];
            int n;
            cin >> n;
            while (n--) {
                string m;
                cin >> m;
                int len = m.length() - 1;
                bool flag = false;
                int x = 0, y = 0, front = 0;
                for (int i = 0; i < r; i++) {
                    for (int j = 0; j < c; j++) {
                        if (s[i][j] == m[0])
                            for (int fang = 0; fang < 4; fang++) {
                                if (dfs(len, fang, i, j, m)) {
                                    front = fang;
                                    x = i;
                                    y = j;
                                    flag = true;
                                    break;
                                }
                            }
                        if (flag)
                            break;
                    }
                    if (flag)
                        break;
                }
                if (front == 0)
                    cout << "R" << " ";
                else if (front == 1)
                    cout << "D" << " ";
                else if (front == 2)
                    cout << "L" << " ";
                else if (front == 3)
                    cout << "U" << " ";
                cout << x + 1 << " " << y + 1 << " " << m << endl;
            }
            if (k != t)
                cout << endl;
        }
        return 0;
    }
    View Code

     

  • 相关阅读:
    ftp实现普通账号和vip账号限速
    CentOS7 无人值守服务环境搭建(PXE + DHCP+TFTP+ Kickstart+ FTP)
    rsync 系统用户/虚拟用户 备份web服务器数据及无交互定时推送备份
    LVM逻辑卷管理
    Linux允许、禁止ping包
    javascript call 与 apply
    js 内存进阶 function扫描解析
    事件绑定之鼠标悬停 -入门-进阶-精通-骨灰(来自锋利的jQuery)
    show(),hide()和display在一起的用法
    Nat模式下网卡配置及Xshell连接
  • 原文地址:https://www.cnblogs.com/Whiteying/p/12594838.html
Copyright © 2020-2023  润新知