http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1330
1330: 字符识别?
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 419 Solved: 296
[Submit][Status][Web Board]
Description
你的任务是写一个程序进行字符识别。别担心,你只需要识别1, 2, 3,如下:
.*. *** ***
.*. ..* ..*
.*. *** ***
.*. *.. ..*
.*. *** ***
Input
输入仅包含一组数据,由6行组成。第一行为字符的个数n(1<=n<=10)。以下5行每行包含4n个字符。每个字符恰好占5行3列,然后是一个空列(用"."填充)。
Output
输出应包含一行,即识别出的各个字符。
Sample Input
3 .*..***.***. .*....*...*. .*..***.***. .*..*.....*. .*..***.***.
Sample Output
123
分析:
直接判断a[4][1] a[4][3] a[4][3]是否等于“*” 即可。
AC代码:
1 #include <stdio.h> 2 #include <algorithm> 3 #include <iostream> 4 #include <string.h> 5 #include <string> 6 #include <math.h> 7 #include <stdlib.h> 8 #include <queue> 9 #include <stack> 10 #include <set> 11 #include <map> 12 #include <list> 13 #include <iomanip> 14 #include <vector> 15 #pragma comment(linker, "/STACK:1024000000,1024000000") 16 #pragma warning(disable:4786) 17 18 using namespace std; 19 20 const int INF = 0x3f3f3f3f; 21 const int MAX = 1000 + 10; 22 const double eps = 1e-8; 23 const double PI = acos(-1.0); 24 25 int main() 26 { 27 int n , i; 28 char str[7][57]; 29 scanf("%d",&n); 30 for(i = 1;i <= 5;i ++) 31 cin >> str[i] + 1; 32 n *= 4; 33 for(i = 1;i <= n;i += 4) 34 { 35 if(str[4][i] == '*') 36 cout << "2"; 37 else if(str[4][i + 1] == '*') 38 cout << "1"; 39 else 40 cout << "3"; 41 } 42 puts(""); 43 return 0; 44 }