| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
自己交一下不就知道了?Re:哪位大哥指点一下,这种情况会超时吗?郁闷中~~In Reply To:哪位大哥指点一下,这种情况会超时吗?郁闷中~~ Posted by:lzk at 2004-10-02 15:38:47 > 哪位大哥指点一下,这种情况会超时吗?郁闷中~~
> #include<iostream>
> using namespace std;
>
>
> int R,C;
>
> int compare_to(char *row1,char *row2);
>
> void main()
> {
> bool result;
> char *row1;
> char *row2;
> char *temp;
> int sum,res_col;
> int i,j;
> cin>>R>>C;
> while(R!=0 && C!=0)
> {
> row1=new char[C+1];
> row2=new char[C+1];
> cin>>row1;
> sum=0;
> res_col=0;
> for(i=0;i<C;i++)
> {
> if(row1[i]=='#')
> {
> sum++;
> while(row1[i+1]=='#' && i<C-1) i++;
> }
> }
> result=true;
> for(i=0;i<R-1;i++)
> {
> cin>>row2;
> res_col=compare_to(row1,row2);
> if(res_col==-1)
> {
>
> result=false;
> for(j=i+1;j<R-1;j++)
> {
> cin>>row2;
> }
> cout<<"Bad placement."<<endl;
> break;
> }
> sum+=res_col;
>
> temp=row2;
> row2=row1;
> row1=temp;
> }
> if(result) cout<<"There are "<<sum<<" ships."<<endl;
> delete []row1;
> delete []row2;
> cin>>R>>C;
> }
> }
>
> int compare_to(char *row1,char *row2)
> {
> int i,j,k;
> int res=0;
> for(i=0;i<C;i++)
> {
> if(row2[i]=='#')
> {
> j=i;
> while(row2[i+1]=='#' && i<C-1)
> {
> i++;
> }
> if( (j==0||row1[j-1]=='.') && (i==C-1||row1[i+1]=='.') )
> {
> for(k=j;k<i;k++)
> if(row1[k] != row1[k+1]) return -1;
> if(row1[j]=='.') res++;
> }
> else return -1;
> }
> }
> return res;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator