有一种工业零件,分成左右两半,它们的形状由’X’和空格表示的二维图形表示,比如:左半的零件形状如下:
每行输出一个测试用例的结果。 |
||
Sample Input |
||
2 4 XXXXX XXX XXXX XXX XXX XXXX XXXX XXXXX 2 XXXXX X XXXXX XXX |
||
Sample Output |
||
1 6 |
||
Source |
#include<stdio.h>
#include<string.h>
char a[30][100],b[30][100];
int len[100];
int main()
{
int k,n,i,length,j,num,maxnum;
int sum=0,maxlen;
scanf("%d",&k);
while(k--)
{
scanf("%d",&n);
num=0;
getchar();
for(i=0;i<n;i++)//分别求出两段字母的X的个数
{
gets(a[i]);
length=strlen(a[i]);
for(j=0;j<length;j++)
{
if(a[i][j]=='X')
sum++;
}
}
for(i=0;i<n;i++)
{
gets(b[i]);
length=strlen(b[i]);
for(j=0;j<length;j++)
{
if(b[i][j]=='X')
sum++;
}
for(j=0;j<length;j++)
{
if(b[i][j]==' ')
{
num++;
}
if(b[i][j]=='X')
break;
}
len[i]=length-num;
num=0;
}
maxlen=strlen(a[0])+len[i];
for(i=0;i<n;i++)//求出拼凑出来的最长的一行的值
if((strlen(a[i])+len[i])>=maxlen)
maxlen=strlen(a[i])+len[i];//求出最大的一行
sum=n*maxlen-sum;//求出空格的个数
printf("%d\n",sum);
sum=0;
}
return 0;
}
// getchar();
S = s1 s2...s2n 是一个符合格式的括号的字符串,S能按下面两种方式编码:
请写一个程序将P序列转换成W序列。
第一行是一个整数K,表示有多少个测试用例,以后每两行一个测试用例。每个测试用例第一行为一个整数n(1 <= n <= 20),表示P序列长度,每个测试用例第二行n个非负整数,每个整数之间有一个空格分隔。
每行输出一个测试用例的结果。每行包括n个整数,每个整数之间用一个空格分隔。 |
|||||||||||||||||||||||||||||||||||||||||
Sample Input |
|||||||||||||||||||||||||||||||||||||||||
2 6 4 5 6 6 6 6 9 4 6 6 6 6 8 9 9 9 |
|||||||||||||||||||||||||||||||||||||||||
Sample Output |
|||||||||||||||||||||||||||||||||||||||||
1 1 1 4 5 6 1 1 2 4 5 1 1 3 9 |
|||||||||||||||||||||||||||||||||||||||||
#include <stdio.h>
#include <string.h>
int main() { int n,i,j,l,k,flag,length,figure,T; int str[1111]; char num[11111]; scanf("%d",&n); while(n--) { k=0; int kyx [11111]={0}; figure=0; memset(num,'\0',sizeof(num)); scanf("%d",&l); for(i=0;i<l;i++) { scanf("%d",&str[i]); } for(i=0;i<l;i++) { if(i==0) { for(j=0;j<str[i];j++) { num[k]='('; k++; } num[k]=')'; } else { for(j=0;j<(str[i]-str[i-1]);j++)//4.5.6.6.6.6 { k++; num[k]='('; } k++; num[k]=')'; } } length=strlen(num); //puts(num); for(i=0;i<length;i++) { if(num[i]=='(') { kyx[i]=1; } } for(i=0;i<length;i++) { if(num[i]==')') { for(j=i;j>=0;j--) { if(num[j]==')') { figure++; } else if((num[j]=='(')&&kyx[j]!=0) { if(i!=length-1) { kyx[j]=0; printf("%d ",figure); figure=0; break; } if(i==length-1) |