首页 > 代码库 > 【水】vijosP1141 最小非负值

【水】vijosP1141 最小非负值

P1141最小非负值

描述

输入一个自然数n(n<1e10000),表示1到n共n个自然数排成一列,你要在每一个数前添上+或-,要使得添加符号后这个代数式的值最小且非负.

输入格式

一个数,n.

输出格式

一个数,即最小非负值。

样例

样例输入

5

样例输出

1

限制

各个测试点1s

思路

听说是高精度,我很开心地进去看了一下……卧槽……

还是有一点点用的,如下

注意

getline函数不一定要fstream才可以用

正常getline函数用法:

#include<iostream>getline(cin,st);

这里不要写什么infile outfile了,直接写cin经验证无错

代码

//我对代码长度不是很在意,短码写着累看着也累啊(我也写不好……)#include<iostream>#include<cstring>  using namespace std;int a,lon;string k;int main(){    getline (cin,k);    lon=k.length();    a=(int(k[lon-1])-int(0));    if (lon>1) {a=a+( int(k[lon-2])-int(0) )*10 ;}    if  ( ((a%4)==1)||((a%4)==2) ) cout<<1<<endl; else cout<<0<<endl;    return 0;}

结果

 

 

【水】vijosP1141 最小非负值