您的位置:首页 > 其它

POJ 1068 Parencodings

2013-07-30 21:14 267 查看
这道题的意思就是,告诉你目前这个右括号的左边有多少个左括号,让你求出这个右括号匹配的左括号是左边的第几个(从右向左数第几个。。。)。

算法的大体意思就是,判断这个右括号遇上一个右括号之间有没有左括号有的话匹配、、不行的话向后移动,再找下一个。。。

#include <stdio.h>
int main()
{
int f[20], i, j, t, temp1, temp2, n, m;
scanf("%d",&m);
while(m--)
{
scanf("%d",&n);
temp2 = 0;
for(i = 0; i < n; i++)
{
scanf("%d",&temp1);
f[i] = temp1-temp2;
temp2 = temp1;
t = 1;
for(j = i; i >=0; j--)
{
if(f[j] > 0)
{
f[j]--;
break;
}
else
t++;
}
printf("%d",t);
if(i != n-1)
printf(" ");
}
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: