zoukankan      html  css  js  c++  java
  • AOJ 667.抢占白房子

    Time Limit: 1000 ms   Case Time Limit: 1000 ms   Memory Limit: 64 MB
    Total Submission: 79   Submission Accepted: 25
     
    Description
    在一个8×8的宫格图中,每个格子要么是白色,要么是黑色,且相邻的两个格子的颜色一定不同;已知左上角(1,1)的格子的颜色为白色。现给出用字符描述的该图G,如果有G(i,j)='F',则说明从上向下数的第i行(从1开始数),从左向右数的第j行(从1开始数)交叉的格子被占领,否则这个格子是空的,未被占领。
    求出被占领的白格子数量。
    Input
    单组数据
    一个8×8的地图,具体参考输入样例。
    Output
    一个整数:被占领的白格子数量。
    Sample Input
    Original Transformed
    ........
    ..F.....
    .....F..
    .....F..
    ........
    ........
    .......F
    .F......
    
    Sample Output
    Original Transformed
    2

    若从(0,0)开始,则横坐标和纵坐标对2取余后再取反为真的为白房子。

    输入读到'F'时,!((x%2)^(y%2))判断即可

     1 /*
     2 By:OhYee
     3 Github:OhYee
     4 Email:oyohyee@oyohyee.com
     5 */
     6 #include <cstdio>
     7 #include <algorithm>
     8 #include <cstring>
     9 #include <cmath>
    10 #include <string>
    11 #include <iostream>
    12 #include <vector>
    13 #include <list>
    14 #include <stack>
    15 using namespace std;
    16  
    17 #define REP(n) for(int o=0;o<n;o++)
    18  
    19 int main() {
    20     int cnt = 0;
    21     for(int i = 0;i < 8;i++)
    22         for(int j = 0;j < 8;j++) {
    23             char temp;
    24             scanf("
    %c
    ",&temp);
    25             //printf("i=%d j=%d -> %c
    ",i,j,temp);
    26             if(temp == 'F')
    27                 if(!((i % 2) ^ (j % 2)))//奇偶性相同的为白色,对2取模后异或取反
    28                     cnt++;
    29         }
    30     printf("%d
    ",cnt);
    31     return 0;
    32 }
  • 相关阅读:
    查看虚拟机里的Centos7的IP
    display:none visibility:hidden opacity:0区别
    UVA
    Gym
    Gym
    UVALive
    面试题1
    vuex的5个属性值
    vue中的.sync语法糖
    绝对定位实现垂直居中的优缺点
  • 原文地址:https://www.cnblogs.com/ohyee/p/5269850.html
Copyright © 2011-2022 走看看