Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

原来棋子数目不固定的,害我WA,用num1,num2分别巨鹿黑白棋子数,就AC了(附代码)

Posted by youngdaxian at 2011-01-31 04:51:08 on Problem 2996
#include<iostream>
#include<stdio.h>
using namespace std;
char a[9][9];
int d=0;
int num1=0,num2=0;
int judge(char ch)
{
	if(ch=='+'||ch=='-'||ch=='|')return 0;
	return 1;
}
int judge2(char ch)
{
	if(ch==':'||ch=='.')return 0;
	else return 1;
}
int find(char ch)
{
	int i,j,pos;
	if('A'<=ch&&ch<='Z')for(i=1;i<=8;i++)
	   for(j=1;j<=8;j++){if(a[i][j]==ch){if(ch!='P')cout<<ch;d++;pos='b'+j-2;printf("%c",pos);cout<<i;if(d!=num1)cout<<",";}}
    else for(i=8;i>=1;i--)
	   for(j=1;j<=8;j++)if(a[i][j]==ch){if(ch!='p'){pos=ch-'b'+'B';printf("%c",pos);}d++;pos='b'+j-2;printf("%c",pos);cout<<i;if(d!=num2)cout<<",";}  
    return 0;
}
int main()
{
	int  i,col,row,j=0,k;
	char ch;
	d=0;
	for(i=0;i<9;i++)
	for(k=0;k<9;k++)a[i][k]='0';
	for(i=1;i<=561;i++){cin>>ch;if(judge(ch)){j++;if(judge2(ch)){if('a'<ch&&ch<'z')num1++;else num2++;col=(j%24)/3+1;row=8-j/24;a[row][col]=ch;}}}
    cout<<"White: ";
    find('K');find('Q');find('R');find('B');find('N');find('P');
    d=0;
    cout<<endl;
    cout<<"Black: ";
    find('k');find('q');find('r');find('b');find('n');find('p');
    cout<<endl;
	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator