22 条题解

  • 0
    @ 2022-11-12 15:26:37
    #include <iostream>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    const int N=3e2;
    int a[N],b[N],c[N];
    int main(){
    	string aa,bb;
    	cin >>aa >> bb;
    	int lena=aa.size();
    	int lenb=bb.size();
    	if(lena<lenb || (lena==lenb&&aa<bb))
    	{
    		cout << "-";
    		swap(lena,lenb);
    		swap(aa,bb);
    	}
    	for(int i = 0; i < lena; i++)
    	{
    		a[i]=aa[lena-1-i]-'0';
    	}
    	for(int i = 0; i < lenb; i++)
    	{
    		b[i]=bb[lenb-1-i]-'0';
    	}
    	for(int i = 0; i < lena; i++){
    		c[i]+=a[i]-b[i];
    		if(c[i]<0){
    			c[i]+=10;
    			a[i+1]-=1;
    		}
    	}
    	while(c[lena]==0&&lena>0)
    		lena--;
    	for(int i = lena; i>=0; i--){
    		cout << c[i];
    	}
    }
    
    
    • -1
      @ 2023-10-29 19:56:43
      #include<iostream>
      #include<string.h>
      using namespace std;
      const int INF=0x3f3f3f3f;
      const int N=2e5+10;
      string a,b;
      int lena,lenb,lenc,a1[N],b1[N],c1[N],x; 
      int main(){
      	cin>>a>>b;
      	lena=a.size();
      	lenb=b.size();
      	if(lena<lenb||(lena==lenb&&a<b)){
      		swap(lena,lenb);
      		swap(a,b);
      		cout<<"-";
      	}
      	for(int i=0;i<lena;i++){
      		a1[i]=a[lena-i-1]-'0';
      	}
      	for(int i=0;i<lenb;i++){
      		b1[i]=b[lenb-i-1]-'0';
      	}
      	lenc=max(lena,lenb);
      	for(int i=0;i<=lenc;i++){
      		c1[i]=a1[i]-b1[i];
      		if(c1[i]<0){
      			a1[i+1]--;
      			c1[i]+=10;
      		} 
      	}
      	while(c1[lenc]==0&&lenc>0){
      		lenc--;
      	}
      	for(int i=lenc;i>=0;i--){
      		cout<<c1[i];
      	}
      }
      

      信息

      ID
      1191
      时间
      1000ms
      内存
      128MiB
      难度
      6
      标签
      递交数
      733
      已通过
      200
      上传者