浙大1016(ac).cpp
来自「浙大ACM部分题目的代码。已经提交并AC通过」· C++ 代码 · 共 40 行
CPP
40 行
#include<stdio.h>
int main()
{
int p[20],w[20],i,sign,a,b;
scanf("%d",&a);
for(;a>0;a--)
{
scanf("%d",&b);
for(i=0;i<b;i++)
{
scanf("%d",&p[i]);
}
for(i=b-1;i>0;i--)
{
p[i]-=p[i-1];//先做差存入p队列
}
for(i=0;i<b;i++)
{
if(p[i]!=0)
{
w[i]=1;//如果差不为0,说明此)与前一个)之间有至少一个(,所以只含一对
p[i]-=1;
}
else
{
sign=i;
while(p[sign]==0)//直到前一个不为0的差
sign--;
w[i]=i-sign+1;
p[sign]-=1;
}
}
for(i=0;i<b-1;i++)
{
printf("%d ",w[i]);
}
printf("%d\n",w[b-1]);
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?