首页 > 代码库 > 中南大学 oj 1330 字符识别

中南大学 oj 1330 字符识别

1330: 字符识别?

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 158  Solved: 100
[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

HINT

Source

湖南省第九届大学生计算机程序设计竞赛

水题一个  判断字符表示哪个数字 只需直接看数组的第四行每四个字符中*号的位置就行了

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
    int n,k,i,j;
    char a[5][45],b[5];
    memset(a,0,sizeof(a));
    cin>>n;
    for(i=0;i<5;i++)
        for(j=0;j<4*n;j++)
        cin>>a[i][j];
    /*for(j=0;j<4*n;j++)
        cout<<a[3][j]<<" ";
        cout<<endl;
        */
    for(j=1;j<=n;j++)
       {
           int l=1;
           for(i=4*(j-1);i<4*j;i++)
            {
                b[l]=a[3][i];
                if(b[l]=='*')
                   {
                       k=l;
                    //cout<<k<<endl;
                    if(k==2)
                        cout<<'1';
                    else if(k==1)
                        cout<<'2';
                    else
                        cout<<'3';
                   }
 
                l++;
            }
       }
    cout<<endl;
}