比赛 |
20120217 |
评测结果 |
AAAAAAAAAA |
题目名称 |
编码问题 |
最终得分 |
100 |
用户昵称 |
Yeehok |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2012-02-17 21:11:41 |
显示代码纯文本
#include<fstream>
#include<cstring>
using namespace std;
ifstream fin("code.in");
ofstream fout("code.out");
int a[2001],m=0,n=0;
void one()
{
for(int i=0;i<n;i++)
{
fin>>a[i];
}
int s=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<i;j++)
{
if(a[j]<a[i])
{
s++;
}
}
fout<<s<<' ';
s=0;
}
fout<<endl;
}
void two()
{
int ans[2001][2];
memset(ans,0,sizeof(ans));
for(int i=0;i<n;i++)
{
fin>>a[i];
}
int tot=0;
int top=-1,s=-1;
for(int i=0;i<n;i++)
{
tot=a[i];
if(tot==0)
{
ans[++top][0]=++s;
}
else
{
for(int j=top+1;j>=top-tot+1;j--)
{
ans[j][0]=ans[j-1][0];
}
top++;
ans[top-tot][0]=++s;
}
}
s=n;
for(int i=0;i<n;i++)
{
ans[i][1]=--s;
}
s=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(ans[j][0]==s)
{
fout<<ans[j][1]<<' ';
ans[j][0]=-1;
s++;
}
}
}
fout<<endl;
}
int main()
{
fin>>m>>n;
int tmp=0;
for(int num=0;num<m;num++)
{
fin>>tmp;
if(!(tmp-1))
{
one();
}
else
{
two();
}
}
fin.close();
fout.close();
return (0);
}