zoukankan      html  css  js  c++  java
  • zoj 2058 The Archaeologist's Trouble II

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2058

    一道简单的找规律题。

    每一行中的两个相邻字符必定不同。 

    行从1开始,偶数行的'@'和'*'必定各占一半,奇数行分两种情况,若不全为'?',此行中第一个不为'?'的字符及其下标的奇偶决定'@'个数,若为'@'且下标为奇则'@'为i/2+1,反则为i/2。

    code:

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    using namespace std ;
    char str[105][105] ;
    int vis[105] ;
    int main(){
        int n, i, j, min, max ;
        while(~scanf("%d", &n)&&n>=0){
            memset(vis, 0sizeof(vis)) ;
            min = max = 0 ;
            getchar() ;
            for(i=1; i<=n; i++)
                cin >> str[i]+1 ;
            for(i=1; i<=n; i++){
                if(!(i%2)){
                    min += i / 2, max += i / 2 ;
                    continue ;
                }
                for(j=1; j<=i; j++){
                    if(str[i][j]!='?'&&!vis[i]){
                        vis[i] = 1 ;
                        if(str[i][j]=='*'){
                            if(j%2) min += i / 2, max += i / 2 ;
                            else    min += i / 2 + 1, max += i / 2 + 1 ;
                        }else{
                            if(j%2) min += i / 2 + 1, max += i / 2 + 1 ;
                            else    min += i / 2 , max += i / 2 ;
                        }
                    }
                }
                if(!vis[i])min += i / 2, max += i / 2 + 1 ;
            }
            printf("%d %d\n", max, min) ;
        }
        return 0 ;} 
  • 相关阅读:
    pd_ds中的hash
    洛谷P1333 瑞瑞的木棍(欧拉回路)
    2-SAT速成
    洛谷P3209 [HNOI2010]PLANAR(2-SAT)
    BZOJ2199: [Usaco2011 Jan]奶牛议会(2-SAT)
    BZOJ 1823: [JSOI2010]满汉全席(2-SAT)
    IOS深入学习(1)之图标文件(icon files)
    控制反转思想的理解实例
    poj 3259 (Bellman_Ford判断负环)
    POJ 2686 Traveling by Stagecoach 壮压DP
  • 原文地址:https://www.cnblogs.com/xiaolongchase/p/2443155.html
Copyright © 2011-2022 走看看