| ||||||||||
| 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 | |||||||||
本题的数据确实很弱,只需要直接模拟就行了,一次AC 0ms飘过... 贴代码!!!In Reply To:这题的数据好弱.只要设计一个变量记录总长就可以了 Posted by:zsasuke at 2009-05-01 01:03:13 #include <iostream>
using namespace std;
int main()
{
int a[105]; //书架上书目的编号
int b[105]; //书架上对应书目的宽度
int s,w,i,j,k,len;
char ch;
int count=0;
while(cin>>s && s!=-1) //s为书架的宽度
{
count++;
i=0; //书架上书的数目
len=0; //当前数目的长度
while(cin>>ch)
{
if(ch=='R')
{
cin>>w;
for(j=0;j<i;j++)
if(w==a[j]) break;
if(j<i)
{
len-=b[j];
for(k=j;k<i-1;k++)
{
a[k]=a[k+1];
b[k]=b[k+1];
}
i--;
}
}
else if(ch=='A')
{
cin>>k>>w;
while(w+len>s)
{
len-=b[i-1];
i--;
}
for(j=i-1;j>=0;j--)
{
a[j+1]=a[j];
b[j+1]=b[j];
}
a[0]=k;b[0]=w;
i++;
len+=w;
}
else break;
}
cout<<"PROBLEM "<<count<<':';
for(j=0;j<i;j++)
cout<<' '<<a[j];
cout<<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