hdu 5641

来源:互联网 发布:欠淘宝贷款50万 编辑:程序博客网 时间:2024/05/21 06:43

hdu 5641


注意判断Si的范围。


#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <cctype>using namespace std;int map[15][15];int vis[15];int main () {map[1][3] = map[3][1] = 2;map[1][7] = map[7][1] = 4;map[3][9] = map[9][3] = 6;map[7][9] = map[9][7] = 8;map[1][9] = map[9][1] = 5;map[3][7] = map[7][3] = 5;map[2][8] = map[8][2] = 5;map[4][6] = map[6][4] = 5;    int T;    scanf("%d", &T);    int code[15];    int k;    while(T--) {        memset(vis, 0, sizeof(vis));        scanf("%d", &k);        int i, f = 1;        for(i = 0; i < k; i++) {            scanf("%d", code + i);            if(code[i] > 9 || code[i] < 1) {            f = 0;}        }        if(k < 4) {            printf("invalid\n");            continue;        }        if(!f) {        printf("invalid\n");        continue;}        vis[code[0]] = 1;        int flag = 1;        for(i = 1; i < k; i++) {            if(vis[code[i]] == 1) {                flag = 0;                break;            }            else if(map[code[i - 1]][code[i]] && !vis[map[code[i - 1]][code[i]]]){            flag = 0;            break;            }            vis[code[i]] = 1;        }        if(flag) printf("valid\n");        else printf("invalid\n");    }    return 0;}


0 0
原创粉丝点击