花里胡哨的 P1001 题解

· · 题解

同学们好!今天我们要讲一道——

那个不听话的给我出去!

题目!

哪道题啊?

洛谷的题啊!!

洛谷的哪道题啊?

你 TM 故意找茬是不是!!!

这道题啊——P1001 A+B Problem!!!!!

有请我们的好朋友——(题目传送门)[https://www.luogu.com.cn/problem/P1001]

可以看到这道题非常长!我们应该怎么读题呢?

小明:用眼睛!

你给我出去!!

当然是一部分一部分的看!

强烈推荐新用户必读帖。

这个略。

不熟悉算法竞赛的选手请看这里:

这个也略。

算法竞赛中要求的输出格式中,不能有多余的内容,这也包括了“请输入整数 a 和 b” 这一类的提示用户输入信息的内容。若包含了这些内容,将会被认为是 Wrong Answer,即洛谷上的 WA。在对比代码输出和标准输出时,系统将忽略每一行结尾的空格,以及最后一行之后多余的换行符。

这个还略。

若因此类问题出现本机似乎输出了正确的结果,但是实际提交结果为错误的现象,请勿认为是洛谷评测机出了问题,而是你的代码中可能存在多余的输出信息。用户可以参考在题目末尾提供的代码。

这个仍然略。

此外,请善用应用中的在线 IDE 功能,以避免不同平台的评测产生差异。

这个不略。

最后,请不要在对应的题目讨论区中发布自己的题解,请发布到题解区域中,否则将处以删除或禁言的处罚。若发现无法提交题解则表明本题题解数量过多,仍不应发布讨论。若您的做法确实与其他所有题解均不一样,请联系管理员添加题解。

这个最后略。

注意!
注意!

注意!

注意!

注意!

注意!

这道题有个坑点!

这道题有个坑点!

这道题有个坑点!

这道题有个坑点!

这道题有个坑点!
这道题有个坑点!

There are negative numbers!

英语看不懂?日语!

負の数字があります

还看不懂?文言!

数者,有负者,可远观而不可亵玩焉!

看懂了吧!

因此,不能开 unsigned,所以一个视频能告诉你为什么:

诶呀,原视频找不到了!算了,就这样吧!

代码

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

include

pragma

pragma

pragma

pragma

pragma

pragma

pragma

pragma

using namespace std;

struct io{ char ibuf[1<<20]; char s; int a[24]; char obuf[1<<20]; char t; io():t(obuf){ fread(s=ibuf,1, 1<<20,stdin); } ~io(){ fwrite(obuf,1, t-obuf,stdout); } void scan(char u){ while(s<48) ++s; while(s>32) u++=s++; u=0; } int scan(){ int u=0,v=1; while(s<48) v=s++^45?1:-1; while(s>32) u=u10+s++-48; return uv; } void put(int u){ t++=u; } template<class T> void print(T u){ static int v=a; if(!u)put(48); else{ if(u<0){put(45); u=-1;} for(;u;u/=10) v++=u%10; while(v!=a) put(*--v+48); } } template<class T> void println(T u){ print(u),put(10); } }ip;

inline int read() { int x=0,f=1;char ch=getchar(); while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();} while (isdigit(ch)){x=x10+ch-48;ch=getchar();} return xf; }

int mian() { cout << read() + read(); return 0; }

小红:希丰展?用MD!

MD!小红怎么口吐芬芳

好吧,MD 版本来了!

// 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 <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 <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

#pragma GCC optimize(3)
#pragma GCC target("avx")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")

using namespace std;

struct io{
    char ibuf[1<<20];
    char* s;
    int a[24];
    char obuf[1<<20];
    char* t;
    io():t(obuf){
        fread(s=ibuf,1,
        1<<20,stdin);
    }
    ~io(){
        fwrite(obuf,1,
        t-obuf,stdout);
    }
    void scan(char* u){
        while(*s<48)
            ++s;
        while(*s>32)
            *u++=*s++;
        *u=0;
    }
    int scan(){
        int u=0,v=1;
        while(*s<48)
            v=*s++^45?1:-1;
        while(*s>32)
            u=u*10+*s++-48;
        return u*v;
    }
    void put(int u){
        *t++=u;
    }
    template<class T>
    void print(T u){
        static int* v=a;
        if(!u)put(48);
        else{
            if(u<0){put(45);
                u*=-1;}
            for(;u;u/=10)
                *v++=u%10;
            while(v!=a)
                put(*--v+48);
        }
    }
    template<class T>
    void println(T u){
        print(u),put(10);
    }
}ip;

inline int read()
{
    int x=0,f=1;char ch=getchar();
    while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();}
    while (isdigit(ch)){x=x*10+ch-48;ch=getchar();}
    return x*f;
}

int main()
{
  cout << read() + read();
}
求赞!
求赞!

求赞!

求赞!

求赞!

求赞!

各位帅帅气气的审核大大们,给个通过吧,谢谢!