PROB:zerosum

题目来自 USACO
题目翻译见 nocow


题目很简单,自己都说了让我们暴搜。

运算符最多 8 个,每个 3 种,果然大家都是 0.000 sec 就 AC 了。

我这边也写得丑丑的。递归搜索(注意下 ascii 码顺序)。对表达式进行解析计算(我也不知道我怎么写的这一段,竟然就通过了),记录下左边的值、操作符、右边的值,如果下一个操作符是空格,就给右边添一位,是加减就把上次操作做了,记录新的操作符和右边。

/*
ID: 
LANG: C++
TASK: zerosum
*/

#include <cstdio>
#include <cstdlib>

int N;
FILE *fout;
char operations[8];

int parse(){
    char op = '+';
    int pre = 0, post = 1;
    for(int n = 2; n <= N; n ++){
        if(operations[n - 2] == ' '){
            post = post * 10 + n;
        }else{
            pre = (op == '+'? pre + post: pre - post);
            op = operations[n - 2];
            post = n;
        }   
    }
    pre = (op == '+'? pre + post: pre - post);
    return pre;
}

void search(int i){
    if(i == N - 1){
        if(parse() == 0){
            for(int i = 1; i < N; i ++)
                fprintf(fout, "%d%c", i, operations[i - 1]);
            fprintf(fout, "%d\n", N);
        }
        return;
    }
    operations[i] = ' '; search(i + 1);
    operations[i] = '+'; search(i + 1);
    operations[i] = '-'; search(i + 1);
}

int main(){
    FILE *fin = fopen("zerosum.in", "r");
    fout = fopen("zerosum.out", "w");

    fscanf(fin, "%d", &N);

    search(0);

    return 0;
}

第一次提交 AC:

Compiling...
Compile: OK

Executing...
   Test 1: TEST OK [0.000 secs, 4176 KB]
   Test 2: TEST OK [0.000 secs, 4176 KB]
   Test 3: TEST OK [0.000 secs, 4176 KB]
   Test 4: TEST OK [0.000 secs, 4176 KB]
   Test 5: TEST OK [0.000 secs, 4176 KB]
   Test 6: TEST OK [0.000 secs, 4176 KB]
   Test 7: TEST OK [0.000 secs, 4176 KB]

All tests OK.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,740评论 18 399
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,927评论 0 33
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 1,713评论 4 12
  • 因为开车,提前出门,不再掐好时间踩着点走,也不再匆忙,速度自然放慢。红灯也多了,等候时听着音乐,一切缓缓的感觉真不错!
    卿莹阅读 183评论 2 1
  • 尽管我手伤未愈,可是仍然要急不可耐地写下这篇文字。 昨天晚上去欣赏了一场街舞盛宴~~ 玩来街舞的汇报演出。整场演出...
    安然ZCR阅读 929评论 5 6

友情链接更多精彩内容