字符识别 CSU - 1330
Time limit 1000 ms Memory limit 131072 kB
你的任务是写一个程序进行字符识别。别担心,你只需要识别1, 2, 3,如下:
.*. *** ***
.*. ..* ..*
.*. *** ***
.*. *.. ..*
.*. *** ***
Input
Output
Sample Input
Sample Output
输入仅包含一组数据,由6行组成。第一行为字符的个数n(1<=n<=10)。以下5行每行包含4n个字符。每个字符恰好占5行3列,然后是一个空列(用"."填充)。
输出应包含一行,即识别出的各个字符。
3.*..***.***..*....*...*..*..***.***..*..*.....*..*..***.***.
123
题解:起初没看懂题意,wrong了一次,后来又看了看题,发现字符根本就是1 2 3 阿拉伯数字,然后又看了下,1 2 3 在第四行又明显差异,所以直接判断第四行就行了……
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
#include<stdlib.h>
#include<time.h>
#include<string>
#include<math.h>
#include<map>
#include<queue>
#include<stack>
#define INF 0x3f3f3f3f
#define ll long long
#define For(i,a,b) for(int i=a;i<b;i++)
#define mem(a,b) memset(a,b,sizeof(a))
using namespace std;
char x[10][50];
int main()
{
int n;
scanf("%d",&n);
For(i,0,5)
scanf("%s",x[i]);
for(int i=0;i<4*n;i++)
{
if(x[3][i+1]=='*')
printf("1");
else if(x[3][i]=='*')
printf("2");
else if(x[3][i+2]=='*')
printf("3");
i+=3;
}
printf("\n");
}