zoukankan      html  css  js  c++  java
  • hdu 1172

    水题,对输入的每一条信息,都对所有的四位数逐一判断是否符合,记录下即可。

    /*
    * hdu1172/linux.cpp
    * Created on: 2011-8-29
    * Author : ben
    */
    #include
    <cstdio>
    #include
    <cstdlib>
    #include
    <cstring>
    #include
    <cmath>
    #include
    <algorithm>
    using namespace std;

    bool maybeans[10005];

    void work();
    int main() {
    #ifndef ONLINE_JUDGE
    freopen(
    "data.in", "r", stdin);
    #endif
    work();
    return 0;
    }

    bool judge(int ans, int guess, int rnum, int rindex) {
    int bitnum1[10], bitnum2[10], i;
    memset(bitnum1,
    0, sizeof(bitnum1));
    memset(bitnum2,
    0, sizeof(bitnum2));
    for (i = 1; i <= 1000; i *= 10) {
    bitnum1[(ans
    % (i * 10)) / i]++;
    bitnum2[(guess
    % (i * 10)) / i]++;
    }
    rnum
    = 4 - rnum;
    rnum
    <<= 1;
    for (i = 0; i < 10; i++) {
    rnum
    -= abs(bitnum1[i] - bitnum2[i]);
    }
    if (rnum) {
    return false;
    }
    while (ans > 0 && guess > 0) {
    if (ans % 10 == guess % 10) {
    rindex
    --;
    }
    ans
    /= 10;
    guess
    /= 10;
    }
    return rindex == 0;
    }

    void work() {
    int N, a, b, c, i, ansnum, j;
    while (scanf("%d", &N) == 1 && N > 0) {
    memset(maybeans,
    1, sizeof(maybeans));
    ansnum
    = 9000;
    for (i = 0; i < N; i++) {
    scanf(
    "%d%d%d", &a, &b, &c);
    for (j = 1000; j < 10000; j++) {
    if (maybeans[j]) {
    maybeans[j]
    = judge(j, a, b, c);
    if (!maybeans[j]) {
    ansnum
    --;
    }
    }
    }
    }
    if (ansnum != 1) {
    puts(
    "Not sure");
    }
    else {
    j
    = 1000;
    while (!maybeans[j]) {
    j
    ++;
    }
    printf(
    "%d\n", j);
    }
    }
    }
  • 相关阅读:
    bootstrap-treeview 实现级联选择
    MockMvc
    TCP的三次握手与四次挥手的理解
    多线程之按序打印
    java后端学习流程
    nginx安装配置
    今天给大家分享个玩具——树莓派
    nginx启动报错
    springboot自定义注解
    初探企业级应用开发主流前沿技术
  • 原文地址:https://www.cnblogs.com/moonbay/p/2157367.html
Copyright © 2011-2022 走看看