一种新的a+b problem again 解决方式 保证AC

#include <bits/stdc++.h>
using namespace std;
int main(){
    vector <int> m,n;
    m.push_back(0);
    n.push_back(0);
    string p,q;
    cin>>p>>q;
    for (int i=0;i<p.size();i++){
    	m.push_back(p[i]-'0');
	}
	for (int i=0;i<q.size();i++){
		n.push_back(q[i]-'0');
	}
	if (m.size()==n.size()){
		for (int i=0;i<m.size();i++){
			m[i]+=n[i];
		}
		for (int i=m.size()-1;i>=0;i--){
			if (m[i]>=10){
				m[i]-=10;
				m[i-1]++;
			}
		}
		if (m[0]>0){
			cout<<m[0];
		}
		for (int i=1;i<m.size();i++){
			cout<<m[i];
		}
	}
	else if (m.size()>n.size()){
		vector <int> x;
		for (int i=0;i<=m.size()-n.size();i++){
			x.push_back(0);
		}
		for (int i=1;i<n.size();i++){
			x.push_back(n[i]);
		}
	    for (int i=1;i<m.size();i++){
			m[i]+=x[i];
		}
		for (int i=m.size()-1;i>=0;i--){
			if (m[i]>=10){
				m[i]-=10;
				m[i-1]++;
			}
		}
		if (m[0]>0){
			cout<<m[0];
		}
		for (int i=1;i<m.size();i++){
			cout<<m[i];
		}
	}
	else{
		vector <int> x;
		for (int i=0;i<=n.size()-m.size();i++){
			x.push_back(0);
		}
		for (int i=1;i<m.size();i++){
			x.push_back(m[i]);
		}
	    for (int i=1;i<n.size();i++){
			n[i]+=x[i];
		}
		for (int i=n.size()-1;i>=0;i--){
			if (n[i]>=10){
				n[i]-=10;
				n[i-1]++;
			}
		}
		if (n[0]>0){
			cout<<n[0];
		}
		for (int i=1;i<n.size();i++){
			cout<<n[i];
		}
	}
    return 0;
}

你这代码也太麻烦了吧
真是不中看还不中用

另外,提醒一句:论坛明文禁止…

发AC代码啊喂!

1 个赞

so

捕获

完啦!!!!!

放心吧,就删个贴而已。
呵呵