┭┮﹏┭┮,我也80分了………………
by cqbztz2 @ 2021-09-24 21:09:06
改一改变成TLE
```cpp
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<iostream>
using namespace std;
const int maxn=200005;
char opt[maxn],temp1[maxn],temp2[maxn];
int main()
{
scanf("%s",opt+1);
int r1=0,r2=0,l1=10000,l2=10000,len1=0,len2=0,cnt=0,be=0;
if(opt[1]=='0'||opt[1]=='1'){
cnt=0,be=opt[1]-'0';
scanf("%s%s",temp1+1,temp2+1);
len1=strlen(temp1+1),len2=strlen(temp2+1);
while(~scanf("%s",opt+1)) ++cnt;
cnt=cnt/2+1;
}
else{
len1=strlen(opt+1);
for(int i=1;i<=len1;++i) temp1[i]=opt[i];
len2=0;
for(int i=1;i<=len1;++i){
++len2;
temp2[i]=temp1[i];
if(temp1[i]=='.') break;
}
scanf("%s",temp2+len2+1);
len2=strlen(temp2+1);
while(~scanf("%s",opt+1)) ++cnt;
cnt/=2;
for(int i=1;i<=len1;++i)
if(temp1[i]>='0'&&temp1[i]<='9') be=be*10+temp1[i]-'0';
}
for(int i=1;i<=len1;++i)
if(temp1[i]>='0'&&temp1[i]<='9') l1=min(l1,i),r1=max(r1,i);
for(int i=1;i<=len2;++i)
if(temp2[i]>='0'&&temp2[i]<='9') l2=min(l2,i),r2=max(r2,i);
for(int i=1;i<=cnt;++i){
for(int j=1;j<l1;++j) putchar(temp1[j]);
printf("%d",be);
for(int j=r1+1;j<=len1;++j) putchar(temp1[j]);
printf(" ");
for(int j=1;j<l2;++j) putchar(temp2[j]);
printf("%d",be);
for(int j=r2+1;j<=len2;++j) putchar(temp2[j]);
if(i!=cnt) printf("\n");
++be;
}
return 0;
}
```
可能要优化
不要输出两次be
by huangjiasheng @ 2022-02-11 10:43:38