14 条题解
-
13
这道世界难题真的太难辣!今天才发现一年前的题解有误,以下是正确题解:
// C #ifndef _GLIBCXX_NO_ASSERT #include <cassert> #endif #include <cctype> #include <cerrno> #include <cfloat> #include <ciso646> #include <climits> #include <clocale> #include <cmath> #include <csetjmp> #include <csignal> #include <cstdarg> #include <cstddef> #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #if __cplusplus >= 201103L #include <ccomplex> #include <cfenv> #include <cinttypes> #include <cstdalign> #include <cstdbool> #include <cstdint> #include <ctgmath> #include <cuchar> #include <cwchar> #include <cwctype> #endif // C++ #include <algorithm> #include <bitset> #include <complex> #include <deque> #include <exception> #include <fstream> #include <functional> #include <iomanip> #include <ios> #include <iosfwd> #include <iostream> #include <istream> #include <iterator> #include <limits> #include <list> #include <locale> #include <map> #include <memory> #include <new> #include <numeric> #include <ostream> #include <queue> #include <set> #include <sstream> #include <stack> #include <stdexcept> #include <streambuf> #include <string> #include <typeinfo> #include <utility> #include <valarray> #include <vector> #if __cplusplus >= 201103L #include <array> #include <atomic> #include <chrono> #include <codecvt> #include <condition_variable> #include <forward_list> #include <future> #include <initializer_list> #include <mutex> #include <random> #include <ratio> #include <regex> #include <scoped_allocator> #include <system_error> #include <thread> #include <tuple> #include <typeindex> #include <type_traits> #include <unordered_map> #include <unordered_set> #endif #if __cplusplus >= 201402L #include <shared_mutex> #endif using namespace std; long long aNumberAndNameIsA; long long aNumberAndNameIsB; long long aNumberAndNameIsAnswer; bool check(long long aNumberAndNameIsA__, long long aNumberAndNameIsB__) { if (aNumberAndNameIsA__ + aNumberAndNameIsB__) return true; } int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); while (cin >> aNumberAndNameIsA >> aNumberAndNameIsB) { if (check(aNumberAndNameIsA, aNumberAndNameIsB)) aNumberAndNameIsAnswer = aNumberAndNameIsA + aNumberAndNameIsB; cout << aNumberAndNameIsAnswer << "\n"; } return 0; }
-
7
数据类型对应的范围可以查看 https://oi-wiki.org/lang/var/
读取到文件结尾的方式有很多种,文件结尾的符号
EOF
实际上对应的就是-3
,如果scanf
读取到文件结尾就会返回EOF
,否则会返回成功输入了多少个元素。因此如果使用scanf
可以这么做:while(scanf("%lld%lld",&a,&b)!=EOF){ ... } while(~scanf("%lld%lld",&a,&b)){ ... } while(scanf("%lld%lld",&a,&b)!=-1){ ... }
cin
的返回值比较特殊,可以简单理解为如果读到文件结尾返回值对应的布尔值就是假因此如果使用
cin
,可以这么做:while (cin >> a >> b)
-
3
使用处理异常功能完成这道题
众所周知python有一个try-except语法,用来截获并处理程序异常.用法如下:
try: A except xxxError: B
程序会执行A段代码,如果引发了xxxError则执行B段代码.
再回头看这道题,题目数据范围中有说“输入a,b的组数不超过10”,所以可以直接循环10次,每次输入a和b,输出相加的结果即可.就像这样:
for i in range(10): a, b = tuple(map(int, input().split())) print(a+b)
显然的,这样会引发EOFError.那刚刚学的try-except不就派上用场了嘛,如果引发EOFError就说明输入没了,就可以直接break了,代码如下:
for i in range(10): try: a, b = tuple(map(int, input().split())) print(a+b) except EOFError: break
-
-5
写题解请注意 鼓励大家写题解,但注意题解格式。
题解一定要有思路解析或代码注释,能否让别人理解你的思路
也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。
给代码两端加上这个会舒服一些
```cpp
你的代码
```
</span>
这个点在键盘的左上角tab上面那个键,注意切换输入法
#include<iostream> using namespace std; int main() { int n; cin>>n;//这是一个注释 return 0; }
请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。
抄袭题解一经发现直接取消成绩。
题解被删除的可能
- 代码不符合格式规范
- 没有思路讲解或者没有注释,
- 无意义的题解
大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。
- 1
信息
- ID
- 1230
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 867
- 已通过
- 358
- 上传者