fzu 2146 Easy Game & 2147 A-B Game & 2151 OOXX Game(水题)

2014-11-24 07:16:17 · 作者: · 浏览: 0

题目链接:fzu 2146 Easy Game

题目连接:fzu 2147 A-B Game

题目链接:fzu 2151 OOXX Game


题意略。


2146

#include 
  
   
#include 
   
     const int N = 10100; const char sign[2][N] = {"Even", "Odd"}; int main () { char str[N]; int cas; scanf("%d", &cas); for (int i = 1; i <= cas; i++) { scanf("%s", str); int len = strlen(str); printf("Case %d: %s\n", i, sign[len % 2]); } return 0; } 
   
  


2147

解题思路:每次最多减(A - 1)/2.

#include 
  
   
#include 
   
     #include 
    
      using namespace std; typedef long long ll; ll A, B; int solve() { int ans = 0; while (A > B) { A = A - (A - 1) / 2; ans++; } return ans; } int main() { int cas; scanf("%d", &cas); for (int i = 1; i <= cas; i++) { cin >> A >> B; printf("Case %d: %d\n", i, solve()); } return 0; }
    
   
  


2151

#include 
  
   
#include 
   
     const int N = 105; const char sign[2][N] = {"Fat brother", "Maze"}; int main () { int cas, l, r; char str[N]; scanf("%d", &cas); for (int i = 1; i <= cas; i++) { int ans = 0; scanf("%d%d", &r, &l); for (int j = 0; j < r; j++) { scanf("%s", str); for (int k = 0; k < l; k++) if (str[k] == 'O') ans++; } printf("Case %d: %s\n", i, sign[ans % 2]); } return 0; }