zoukankan      html  css  js  c++  java
  • CDOJ 25 点球大战(penalty) 解题报告

    简单的字符串处理

    坑点,有人可能没名字(名字为空)

    有人名字可能为blablablano

    但是因为输入保证最后五个字符为 good(前面有个空格)

    因为如果输入意思是no good的话,no前面必须有一个空格

    所以只需要判断倒数第6、7、8个字符是不是' '、'n'、'o'就可以了

    当然,如果出现名字为空,结果为good,字符串长度达不到8,要判断一下字符串的长度

    以上解决之后稍微关注一下输出格式就可以了

    #include <cstdio>
    #include <cstring>
    using namespace std;
    
    int t;
    char info[105];
    int len;
    char result[2][20];
    int score[2];
    
    void initialize() {
    	memset(info, 0, sizeof info);
    	memset(result, 0, sizeof result);
    	memset(score, 0, sizeof score);
    	len = 0;
    }
    
    int main() {
    	while (~scanf("%d", &t) && t) {
    		initialize();
    		while (getchar() != '
    ');
    		for (int i = 0; i < t; ++i) {
    			gets(info); len = strlen(info);
    			if (len > 8 && info[len - 8] == ' ' && info[len - 7] == 'n' && info[len - 6] == 'o')
    				result[i & 1][i >> 1] = 'X';
    			else result[i & 1][i >> 1] = 'O', ++score[i & 1];
    		}
    		for (int i = 1; i <= t + 1 >> 1; ++i) printf("%d ", i);
    		puts("Score");
    		if (t & 1) result[1][t >> 1] = '-';
    		for (int i = 0; i < 2; ++i) {
    			for (int j = 0; j << 1 < t; ++j)
    				putchar(result[i][j]), putchar(' ');
    			printf("%d
    ", score[i]);
    		}
    	}
    	return 0;
    }
  • 相关阅读:
    Markdown学习
    二叉树的最近公共祖先
    javaCompiler简析
    自定义类加载器
    聚合和组合的区别
    拓扑排序
    C++ map和unordered_map
    静态文件加载路径
    文件上传
    jackson
  • 原文地址:https://www.cnblogs.com/johnsonyip/p/5662131.html
Copyright © 2011-2022 走看看