这个程序本地能过,洛谷上为何只有80分?
查看原帖
这个程序本地能过,洛谷上为何只有80分?
134317
胡光耀楼主2020/12/12 14:28
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char a[10105],b[10105];
int c[10106];
int main()
{
	cin>>a;
	cin>>b;
	int h1,h2;
	h1=strlen(a);
	h2=strlen(b);
	int s=max(h1,h2);
	if(h1<s)
	{
		for(int i=h1-1;i>=0;i--)
		{
			a[s-(h1-i)]=a[i];
			a[i]='0';
		}
	}
	if(h2<s)
	{
		for(int i=h2-1;i>=0;i--)
		{
			b[s-(h2-i)]=b[i];
			b[i]='0';
		}
	}
	for(int i=s-1;i>=0;i--)
	{
		int s1=0,s2=0;
		if((a[i]>=48)&&(a[i]<=57)) s1=a[i]-48;
		if((b[i]>=48)&&(b[i]<=57)) s2=b[i]-48;
		c[i+1]=s1-s2;
	}
	int i=1;
	while(c[i]==0) i++;
	if(c[i]<0)
	{
		cout<<"-";
		for(int j=i;j<=s;j++)
			c[j]*=(-1);
	}
	for(int j=s;j>=i;j--)
	{
		if(c[j]<0)
		{
			c[j]+=10;
			c[j-1]-=1;
		}
	}
	while(c[i]==0) i++;
	if(c[s]==0) cout<<0;
	for(int j=i;j<=s;j++) cout<<c[j];
    return 0;
}
2020/12/12 14:28
加载中...