零件 |
||
Time Limit : 1000 MS | Memory Limit : 65536 KB | |
Description |
||
有一种工业零件,分成左右两半,它们的形状由’X’和空格表示的二维图形表示,比如:左半的零件形状如下:
每行输出一个测试用例的结果。 |
||
Sample Input |
||
2 4 XXXXX XXX XXXX XXX XXX XXXX XXXX XXXXX 2 XXXXX X XXXXX XXX |
||
Sample Output |
||
1 6 参考代码: #include<iostream> #include<stdio.h> #include<string.h> using namespace std; int po[1000],va[10000]; char s[1000]; int main() { int ca,n,temp(0),j,ma(0),sta(0); cin>>ca; while(ca--) { cin>>n; getchar(); temp=0; ma=999999999; sta=0; for(int i=0;i<n;i++) { gets(s); for(int j=0;s[j]!='';j++) { if(s[j]==' ') { sta++; } } po[i] = strlen(s); if(po[i]<ma) ma=po[i]; } for(int i=0;i<n;i++) { po[i]=po[i]-ma; } ma=9999999; for(int i=0;i<n;i++) { gets(s); for(j=0;s[j]!='X';j++) {; } va[i]=j; if(va[i]<ma) ma=va[i]; for(;s[j]!='';j++) { if(s[j]==' ' ) sta++; } } for(int i=0;i<n;i++) { va[i]=va[i]-ma; if(po[i]-va[i]>temp) temp=po[i]-va[i]; } ma=0; for(int i=0;i<n;i++) { ma=ma+va[i]+temp-po[i]; } cout<<ma+sta<<endl; } } |