1 条题解
-
0
C :
#include <stdio.h> #include <string.h> int main() { char a[5001]; char b[5001]; int i,j,m1,m2; int count; int len; while(scanf("%s%s",a,b)!=EOF) { m1=m2=0; len=strlen(a); for(i=0; i<len; i++) { if(a[i]=='+') m1++; if(b[i]=='+') m2++; } if(m1!=m2) { printf("-1\n"); continue; } count=0; for(i=0; i<len; i++) { if(a[i]!=b[i]) { for(j=i+1; j<len; j++) if(a[j]==b[i]) break; count+=j-i; a[j]=a[i]; } } printf("%d\n",count); } }
C++ :
#include <stdio.h> #include <string.h> int main() { char a[5001]; char b[5001]; int aa[5001]; int bb[5001]; int i,j,m1,m2; int count; int len; while(scanf("%s%s",a,b)!=EOF) { m1=m2=0; len=strlen(a); for(i=0;i<len;i++) { if(a[i]=='+') { aa[m1]=i; m1++; } if(b[i]=='+') { bb[m2]=i; m2++; } } if(m1!=m2) { printf("-1\n"); continue; } count=0; for(i=0;i<m1;i++) { if(bb[i]>aa[i]) count+=bb[i]-aa[i]; else count+=aa[i]-bb[i]; } printf("%d\n",count); } return 0; }
- 1
信息
- ID
- 700
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者