脑*题解
2024-08-21 08:46:02
发布于:上海
25阅读
0回复
0点赞
这荼蘼不是废话吗万磁
高精加法版
#include<iostream>
#include<sstream>
#include<algorithm>
using namespace std;
typedef long long l;
l a,b;
string high_add(string s1,string s2){
reverse(s1.begin(),s1.end());
reverse(s2.begin(),s2.end());
string s3="";
bool add01=0;
if(s1.size()>s2.size())swap(s1,s2);
for(int i=0;i<s1.size();i++){
char c=s1[i]+s2[i]-48+add01;
add01=0;
if(c>57)add01=1,c-=10;
s3.append(1,c);
}for(int j=s1.size();j<s2.size();j++){
char c=s2[j]+add01;
add01=0;
if(c>57)add01=1,c-=10;
s3.append(1,c);
}if(add01)s3.append(1,'1');
reverse(s3.begin(),s3.end());
return s3;
}string str(l d){
stringstream ss;
ss<<d;
string s;
ss>>s;
return s;
}string add(l a,l b){
string stra=str(a),strb=str(b);
return high_add(stra,strb);
}void output(string s){
cout<<s;
return;
}void inData(l& a){
cin>>a;
return;
}void input(){
inData(a);
inData(b);
return;
}void doit(){
input();
string s=add(a,b);
output(s);
return;
}int main(){
doit();
return 0;
}
这是真的乱导头文件了。。。
手搓脑*版
#include<algorithm>
#include<bitset>
#include<cctype>
#include<cmath>
#include<cstdint>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<deque>
#include<fstream>
#include<iostream>
#include<istream>
#include<limits>
#include<list>
#include<math.h>
#include<map>
#include<ostream>
#include<queue>
#include<random>
#include<sstream>
#include<stack>
#include<stdio.h>
#include<string>
#include<time.h>
#include<unordered_map>
#include<utility>
#include<vector>
using namespace std;
typedef long long l;
l a,b;
string high_add(string s1,string s2){
reverse(s1.begin(),s1.end());
reverse(s2.begin(),s2.end());
string s3="";
bool add01=0;
if(s1.size()>s2.size()){
string t=s1;
s1=s2;
s2=t;
}
for(int i=0;i<s1.size();i++){
char c=s1[i]+s2[i]-48+add01;
add01=0;
if(c>57){
add01=1;
c-=10;
}
s3.append(1,c);
}
for(int j=s1.size();j<s2.size();j++){
char c=s2[j]+add01;
add01=0;
if(c>57){
add01=1;
c-=10;
}
s3.append(1,c);
}
if(add01)
s3.append(1,'1');
reverse(s3.begin(),s3.end());
return s3;
}
string str(l d){
string s;
if(!d){
s="0";
return s;
}
while(d){
l dig=d%10;
int zero=int('0');
char dc=dig+zero;
s=dc+s;
d/=10;
}
return s;
}
string add(l a,l b){
string stra=str(a);
string strb=str(b);
string res=high_add(stra,strb);
return res;
}
void output(string s,string end=""){
for(int i=0;i<s.size();i++){
char c=s[i];
cout<<c;
cout<<end;
}
return;
}
void inData(l& a){
string s;
cin>>s;
int zero=int('0');
for(int i=0;i<s.size();i++){
l b=a;
b*=10;
char c=s[i];
l d=c-zero;
b+=d;
a^=b;
b^=a;
a^=b;
}
return;
}
void input(){
inData(a);
inData(b);
return;
}
void doit(){
input();
string s;
s=add(a,b);
output(s);
return;
}
int main(){
doit();
return 0;
}
乱导头文件用进代码
肝帝 · 模拟+精判版
#include<algorithm>
#include<bitset>
#include<cctype>
#include<cmath>
#include<cstdint>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<deque>
#include<fstream>
#include<iostream>
#include<istream>
#include<limits>
#include<list>
#include<math.h>
#include<map>
#include<ostream>
#include<queue>
#include<random>
#include<sstream>
#include<stack>
#include<stdio.h>
#include<string>
#include<time.h>
#include<unordered_map>
#include<utility>
#include<vector>
using namespace std;
typedef long long l;
l a,b;
map<int,string>mp;
void app(int step,bool ok){
//0
stringstream ss;
ss<<boolalpha<<ok;
string check;
ss>>check;
mp[step]=check;
}
int get_int(int x)
{
//1
if(x>9||x<0)
{
bool ok=false;
app(1,ok);
return -1;
}
else{
char c;
char tmp[10];
for(int i=0;i<10;i++)
{
tmp[i]='0'+i;
}
c=tmp[x];
bool ok=true;
app(1,ok);
return int(c);
}
}
string high_add(string s1,string s2)
{
//2
stack<char>a;
for(int i=0;i<s1.size();i++)
{
a.push(s1[i]);
}
if(s1.size())
{
s1.clear();
}
while(a.size())
{
char t=a.top();
s1=s1+t;
a.pop();
}
for(int i=0;i<s2.size();i++)
{
a.push(s2[i]);
}
if(s2.size())
{
s2.clear();
}
while(a.size())
{
char t=a.top();
s2=s2+t;
a.pop();
}
string s3="";
bool add01=0;
if(s1.size()>s2.size())
{
string t=s1;
s1=s2;
s2=t;
}
for(int i=0;i<s1.size();i++)
{
char c=s1[i]+s2[i]-48+add01;
add01=0;
if(c>57)
{
add01=1;
c-=10;
}
s3.append(1,c);
}
for(int j=s1.size();j<s2.size();j++)
{
char c=s2[j]+add01;
add01=0;
if(c>57)
{
add01=1;
c-=10;
}
s3.append(1,c);
}
if(add01)
{
s3.append(1,'1');
}
for(int i=0;i<s3.size();i++)
{
a.push(s3[i]);
}
if(s3.size())
{
s3.clear();
}
while(a.size())
{
char t=a.top();
s3=s3+t;
a.pop();
}
bool ok=true;
app(2,ok);
return s3;
}
string str(l d)
{
//3
string s;
if(!d)
{
s="0";
return s;
}
while(d)
{
l dig=d%10;
int zero=get_int(0);
char g=dig+zero;
if(isdigit(g))
{
int zero=get_int(0);
char dc=dig+zero;
if(isdigit(dc))
{
s=dc+s;
d/=10;
}
else
{
bool ok=false;
app(3,ok);
return "";
}
}
else
{
bool ok=false;
app(3,ok);
return "";
}
}
bool ok=true;
app(3,ok);
return s;
}
string add(l a,l b)
{
//4
string stra=str(a);
string strb=str(b);
string res=high_add(stra,strb);
bool ok=true;
app(4,ok);
return res;
}
void output(string s,string end="")
{
//5
stack<char>p;
stack<char>q;
for(int i=0;i<s.size();i++)
{
q.push(max(s[i],' '));
if(q.empty())
{
bool ok=false;
app(5,ok);
break;
}
}
while(q.size())
{
while(q.size())
{
char t=q.top();
p.push(t);
q.pop();
}
cout<<p.top()<<end;
p.pop();
while(p.size())
{
char t=p.top();
q.push(t);
p.pop();
}
}
bool ok=true;
app(5,ok);
return;
}
void inData(l& a)
{
//6
string s;
cin>>s;
int zero=get_int(0);
for(int i=0;i<s.size();i++)
{
l b=a;
b*=10;
char c=s[i];
l d=c-zero;
b+=d;
a^=b;
b^=a;
a^=b;
}
bool ok=true;
app(6,ok);
return;
}
void input()
{
//7
inData(a);
inData(b);
bool ok=true;
app(7,ok);
return;
}
void doit(int t)
{
//8
if(t>0)
{
input();
}
string s;
if(t>1)
{
s=add(a,b);
}
if(t>2)
{
output(s);
}
bool ok=true;
app(8,ok);
return;
}
int main()
{
//9
srand(time(0));
int solve=rand()%256+1;
if(solve&&solve<512)
{
bool cando=1;
map<int,string>::iterator it;
for(it=mp.begin();it!=mp.end();it++)
{
if(it->second!="true")
{
cando=0;
break;
}
}
if(cando)
{
int maxint=numeric_limits<int>::min()-1;
int tp=rand()%(maxint-10)+3;
doit(tp);
}
}
return 0;
}
这你 **
废话写 **
上 *
了 *
你 *
**
**
啊!
Python废话版
def add(a,b):
return a+b
def show(s):
s=str(s)
for i in s:
print(i,end="")
def split_str(string):
lst=[]
tmp=""
for i in string:
if i == " ":
lst.append(tmp)
tmp=""
else:
tmp+=i
if len(tmp)>0:
lst.append(tmp)
return lst
def inData():
return input()
def get_item(lst,id):
return lst[id]
def get_integer(string):
return int(string)
list1=split_str(inData())
show(add(get_integer(get_item(list1,0)),get_integer(get_item(list1,1))))
全部评论 1
我嘞个烧刚
2024-06-15 来自 广东
0
有帮助,赞一个