ACM刷题打卡-160309枚举

ZOJ 1331 - Perfect Cubes

#include <iostream>
#include <cstdio>
#include <string>
#include <cctype>
#include <cmath>
#include <vector>
#include <ctime>
using namespace std;

int main() {

    //clock_t st, ed;
    //st = clock();

    vector<int> cube;
    cube.push_back(0);
    for(int i = 1; i <= 200; ++i) {
        cube.push_back(pow(i, 3));
    }

    int a, b, c, d;
    for(a = 2; a <= 200; ++a) {
        for(b = 2; b <= 200; ++b) {
            if(cube[b] > cube[a])
                break;
            for(c = b; c <= 200; ++c) {
                if(cube[b] + cube[c] > cube[a])
                    break;
                for(d = c; d <= 200; ++d) {
                    if(cube[b] + cube[c] + cube[d] > cube[a])
                        break;
                    int right = cube[b] + cube[c] + cube[d];
                    int left = cube[a];
                    if(right == left) {
                        cout << "Cube = " << a << ", Triple = (" << b << "," << c << "," << d << ")" << endl;
                    }
                }
            }
        }
    }
    //ed = clock();
    //double dur = (double)(ed - st);
    //cout << (dur / CLOCKS_PER_SEC);
    return 0;
}

ZOJ 1760 - Doubles

#include <iostream>
#include <cstdio>
#include <string>
#include <cctype>
#include <cmath>
#include <vector>
using namespace std;

int main() {

    int first;
    while(cin >> first && first != -1) {
        vector<int> list;
        list.push_back(first);
        int temp;
        while(cin >> temp && temp != 0) {
            list.push_back(temp);
        }

        int cnt = 0;
        for (int i = 0; i < list.size(); ++i) {
            for (int j = 0; j < list.size(); ++j) {
                if(list[j] == 2 * list[i])
                    cnt++;
            }
        }
        cout << cnt << endl;
    }

    return 0;
}

ZOJ 2130 - 5 Spots

#include <iostream>
#include <cstdio>
#include <string>
#include <cctype>
#include <cmath>
#include <vector>
#include <ctime>
#include <cstring>
using namespace std;

int main() {

    int w, h, sw, sh;
    while(scanf("%d %d %d %d",&h, &w, &sh, &sw) != EOF) {

        getchar();
        vector<string> pic;
        vector<string> part;

        for (int i = 0; i < h; ++i) {
            string line;
            getline(cin, line);
            pic.push_back(line);
        }

        for (int j = 0; j < sh; ++j) {
            string sline;
            getline(cin, sline);
            part.push_back(sline);
        }

        int cnt = 0;

        for (int i = 0; i <= h - sh; ++i) {
            for (int j = 0; j <= w - sw; ++j) {
                bool flag = true;

                for (int k = 0; k < sh; ++k) {
                    if (!flag) {
                        break;
                    }
                    for (int l = 0; l < sw; ++l) {
                        if (part[k][l] == '.') {
                            continue;
                        }
                        else if (part[k][l] != pic[i + k][j + l]) {
                            flag = false;
                            break;
                        }
                    }
                }

                if (flag) {
                    cnt++;
                }
            }
        }

        cout << cnt << endl;
    }

    return 0;
}

ZOJ 2189 - Exact Change Only

#include <iostream>
#include <cstdio>
#include <string>
#include <cctype>
#include <cmath>
#include <vector>
using namespace std;

int main() {

    double exact;
    while(scanf("%lf",&exact) != EOF) {

        int a, b, c, d;
        int left = int(exact * 100);

        cin >> a >> b >> c >> d;
        int cnt = 999;
        vector<int> result;
        for (int i = 0; i <= a; ++i) {
            for (int j = 0; j <= b; ++j) {
                for (int k = 0; k <= c; ++k) {
                    for (int l = 0; l <= d; ++l) {
                        int right = i * 25 + j * 10 + k * 5 + l;
                        int num = i + j + k + l;
                        
                        if(left == right && num < cnt) {
                            cnt = num;
                            result.clear();
                            result.push_back(i);
                            result.push_back(j);
                            result.push_back(k);
                            result.push_back(l);
                        }
                    }
                }
            }
        }
        if(cnt == 999) {
            cout << "NO EXACT CHANGE" << endl;
        }
        else {
            for (int i = 0; i < result.size(); ++i) {
                if(i == 0) {
                    cout << result[i];
                }
                else {
                    cout << " " << result[i];
                }
            }
            cout << endl;
        }
    }

    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339

推荐阅读更多精彩内容

  • 我自己是一个很宅的人,其实宅可以从一个角度来解释:朋友很少,因为少了觥筹交错,少了花前月下,又没有那么多的金钱和时...
    叮啦咚滴阅读 272评论 0 0
  • 集群自动化运维简单心得:(主管理节点必须是linux服务器,尽量使用root进行管理控制权限) 场景:hadoop...
    时待吾阅读 161评论 0 0
  • 又一年三月清风桃花开 半步向阳 天台的白衬衫 记忆里青涩胡须 窗台上再也看不到吹风琴的人 那天下着小雨 “走了…”...
    海宝兔子阅读 214评论 0 2