1973.cpp

来自「哈尔滨工业大学ACM 竞赛网上在线试题集锦的源代码」· C++ 代码 · 共 59 行

CPP
59
字号
/*  This Code is Submitted by wywcgs for Problem 1973 on 2005-09-24 at 18:37:49 */ 
#include <stdio.h>
#include <string.h>

int main()
{
    int asked[11], honest, asnum;
    char answer[16];
    int i;
    
    while(1) {
        honest = 1;
        for(i = 0; i < 11; i++) {
            asked[i] = 0;
        }
        while(1) {
            scanf("%d", &asnum);
            if(asnum == 0) {
                return 0;
            } else {
                while(getchar() != '\n')
                    ;
                gets(answer);
                if(strstr(answer, "too high") != NULL) {
                    if(asked[asnum] == 0) {
                        asked[asnum] = 1;
                    } else if(asked[asnum] != 1) {
                        honest = 0;
                    }
                } else if(strstr(answer, "too low") != NULL) {
                    if(asked[asnum] == 0) {
                        asked[asnum] = 2;
                    } else if(asked[asnum] != 2) {
                        honest = 0;
                    }
                } else if(strstr(answer, "right on") != NULL) {
                    for(i = 1; i <= asnum; i++) {
                        if(asked[i] == 1) {
                            honest = 0;
                        }    
                    }
                    for(i = asnum; i <= 10; i++) {
                        if(asked[i] == 2) {
                            honest = 0;
                        }    
                    }
                    if(honest) {
                        printf("Stan may be honest\n");
                    } else {
                        printf("Stan is dishonest\n");
                    }
                    break;
                }    
            }    
        }    
    }
    
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?