| ||||||||||
| 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 | |||||||||
跪求测试数据,wA的太郁闷了。哪位大侠能帮我看看一下啊,谢谢了。#include<iostream>
using namespace std;
void sort(int *p,int n)//排序
{
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=0;j<n-i;j++)
{
if(p[j]<p[j+1])
{
temp=p[j];
p[j]=p[j+1];
p[j+1]=temp;
}
}
}
int distribute(int **ps,int s,int x)//分配大的块
{
int i,j,k,l;
for(i=0;i<s;i++)
{
j=0;
while(j<s&&ps[j][i]==1)
{
j++;
}
if(s-j>=x&&s-i>=x&&j<s)
{
for(k=j;k<x+j;k++)
for(l=i;l<x+i;l++)
{
ps[k][l]=1;
}
return 1;
}
}
return 0;
}
int main()
{
int t,s,n;
int i,j,k,sum,flag=1;
int *p;
int **ps;
cin>>t;
for(i=0;i<t;i++)
{
cin>>s>>n;
flag=1;
p=new int[n];
sum=0;
for(j=0;j<n;j++)
{
cin>>p[j];
sum=sum+p[j]*p[j];
}
sort(p,n);
if(sum!=s*s)
cout<<"HUTUTU!"<<endl;
else if(s==0)
{
cout<<"KHOOOOB!"<<endl;
}
else
{
ps=new int*[s];
for(j=0;j<s;j++)
{
ps[j]=new int[s];
}
for(j=0;j<s;j++)
for(k=0;k<s;k++)
{
ps[j][k]=0;
}
for(j=0;j<n;j++)
{
if(distribute(ps,s,p[j])==0)
{
cout<<"HUTUTU!"<<endl;
flag=0;
break;
}
}
if(flag)
{
cout<<"KHOOOOB!"<<endl;
}
}
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator