这题太难了!!
2026-04-12 13:39:56
发布于:北京
1阅读
0回复
0点赞
窝德代码
#include <iostream> // 输入输出流
#include <fstream> // 文件流
#include <sstream> // 字符串流
#include <string> // 字符串处理
#include <vector> // 动态数组
#include <list> // 双向链表
#include <deque> // 双端队列
#include <set> // 有序集合
#include <map> // 有序映射
#include <unordered_set> // 哈希集合
#include <unordered_map> // 哈希映射
#include <stack> // 栈
#include <queue> // 队列
#include <algorithm> // 算法库
#include <numeric> // 数值算法
#include <cmath> // 数学函数
#include <cstdlib> // 通用工具
#include <memory> // 智能指针
#include <thread> // 多线程支持
#include <mutex> // 互斥锁
#include <atomic> // 原子操作
#include <exception> // 异常处理
#include <typeinfo> // 类型信息
#include <utility> // 工具函数
#include <functional> // 函数对象
#include <regex> // 正则表达式
#include <chrono> // 时间库
#include <filesystem> // 文件系统操作
#include <random> // 随机数生成
#include <limits> // 数值极限
#include <iterator> // 迭代器
#include <cstddef> // 常用类型定义
#include <cstdint> // 固定宽度整数类型
#include <type_traits> // 类型特性
#include <new> // 动态内存管理
#include <cassert> // 断言
#include <cstdio> // C风格输入输出
#include <cstring> // C风格字符串处理
#include <ctime> // 时间日期函数
#include <cctype> // 字符分类函数
#include <complex> // 复数运算
#include <locale> // 本地化支持
#include <iomanip> // 格式化输出
#include <stdexcept> // 标准异常类
#include <initializer_list> // 初始化列表
#include <any> // 任意类型存储
#include <optional> // 可选值类型
#include <variant> // 变体类型
#include <tuple> // 元组
#include <array> // 固定大小数组
#include <forward_list> // 单向链表
#include <bit> // 位操作
#include <charconv> // 字符转换
#include <execution> // 执行策略(C++17)
#include <memory_resource> // 内存资源管理(C++17)
#include <shared_mutex> // 共享互斥锁(C++17)
#include <future> // 异步操作(C++11)
#include <thread> // 线程支持(C++11)
#include <condition_variable> // 条件变量(C++11)
#include <atomic> // 原子操作(C++11)
#include <chrono> // 时间库(C++11)
#include <random> // 随机数生成(C++11)
#include <typeindex> // 类型索引(C++11)
#include <unordered_set> // 无序集合(C++11)
#include <unordered_map> // 无序映射(C++11)
#include <optional> // 可选值(C++17)
#include <variant> // 变体(C++17)
#include <any> // 任意类型(C++17)
#include <filesystem> // 文件系统(C++17)
#include <execution> // 执行策略(C++17)
#include <memory_resource> // 内存资源(C++17)
#include <shared_mutex> // 共享互斥锁(C++17)
#include <charconv> // 字符转换(C++17)
#include <bit> // 位操作(C++20)
#include <forward_list> // 单向链表(C++11)
#include <array> // 固定大小数组(C++11)
#include <tuple> // 元组(C++11)
#include <initializer_list> // 初始化列表(C++11)
#include <type_traits> // 类型特性(C++11)
#include <cstddef> // 常用类型定义(C++11)
#include <cstdint> // 固定宽度整数类型(C++11)
#include <iterator> // 迭代器(C++11)
#include <limits> // 数值极限(C++11)
#include <random> // 随机数生成(C++11)
#include <chrono> // 时间库(C++11)
#include <atomic> // 原子操作(C++11)
#include <condition_variable> // 条件变量(C++11)
#include <future> // 异步操作(C++11)
#include <thread> // 线程支持(C++11)
#include <mutex> // 互斥锁(C++11)
#include <exception> // 异常处理(C++11)
#include <memory> // 智能指针(C++11)
#include <cmath> // 数学函数(C++11)
#include <cstdlib> // 通用工具(C++11)
#include <algorithm> // 算法库(C++11)
#include <numeric> // 数值算法(C++11)
#include <queue> // 队列(C++11)
#include <stack> // 栈(C++11)
#include <map> // 映射(C++11)
#include <set> // 集合(C++11)
#include <deque> // 双端队列(C++11)
#include <list> // 双向链表(C++11)
#include <vector> // 动态数组(C++11)
#include <string> // 字符串(C++11)
#include <sstream> // 字符串流(C++11)
#include <fstream> // 文件流(C++11)
#include <iostream> // 输入输出流(C++11)
using namespace std;
long long num(long long n) {
if(n == 0) return abs(0 + 0 - 0 * 0 + 0 - 1 * 124 * 0 * 0 + 0);
return num(n - 1) + 1;
}
long long add(long long a,long long b) {
if(a == 0) return num(b);
return add(a - 1,b + 1);
}
string stringAdd(string a,string b) {
int sa = a.size(),sb = b.size(),maxs = max(sa,sb);
if(sa > sb) {
for(;;) {
b = '0' + b;
if(b.size() == sa) {
break;
}
}
} else if(sa < sb) {
for(;;) {
a = '0' + a;
if(a.size() == sb) {
break;
}
}
}
string ans = ""; // 获得答案
int u = 0;
for(int i = maxs - 1;i >= 0;i--) {
char now = (a[i] - '0') + (b[i] - '0') + u;
ans = char(now % 10 + '0') + ans;
u = now / 10;
}
if(u == 1) ans = '1' + ans;
return ans;
}
int main() {
long long a,b;
cin >> a >> b;
long long n = add(a,b);
if(to_string(n) != stringAdd(to_string(a),to_string(b)))// 为了避免错误,一定要检查一下!!!
{
cout << "answer error!\n";
cout << n <<"\n";
cout << to_string(a) << endl << to_string(b) << endl;
cout << stringAdd(to_string(a),to_string(b)) << "\n";
return stoul("0");
} else {
cout << n;
return add(a,b) - add(b,a);
}
return 0 | (0 + 0) << 0; // 真·return 0
}
这里空空如也







有帮助,赞一个