【2018.3.24】模拟赛之二-ssl2546 求和【贪心】
生活随笔
收集整理的這篇文章主要介紹了
【2018.3.24】模拟赛之二-ssl2546 求和【贪心】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
依據十分的水,其實我依據是不想寫的,依舊是老師要求的QAQ
正題
大意
有一個數S,通過然后在1-n自然數前加上“+”或“-”使其等于S,求最小的n
解題思路
枚舉,然后從大的開始,可以加-號的就加
代碼
#include<cstdio> using namespace std; int S,sum,w,i,p,mark[1001]; int main() {scanf("%d",&S);while (true){i++;sum+=i;if (sum<S) continue;w=sum;p=0;for (int j=i;j>=1;j--){if (w-j*2>=S){w-=j*2;mark[++p]=j;}if (w==S) break;}if (w==S) break;}printf("%d\n",i);for (i=p;i>=1;i--){printf("%d\n",mark[i]);} }總結
以上是生活随笔為你收集整理的【2018.3.24】模拟赛之二-ssl2546 求和【贪心】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QQ空间当年6亿多用户,如今却无人问津:
- 下一篇: 我还看到一个怀旧香港我还看到一个怀旧香港