ICPC 6929 Sums

2024-05-31 13:38
文章标签 icpc sums 6929

本文主要是介绍ICPC 6929 Sums,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


思路 :如果一个数n是2的阶乘,那么是无解的。
然后,如果N是奇数,那么肯定能由中间的两个数相加得到。如果N是偶数,就要分成两种情况,一种是 取 n-1 n n+1等等,n的左右两边可以取I个值,可以发现n-2和n+2相加和n-1加n+1相加相等。。另一种情况就是中间情况是 n-1 n n+1,n-1和n的值等于n-2和n+1的值。。
贴上JYJJ阿姨的代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <map>
#include <cmath>
#include <vector>
#include <algorithm>
using namespace std;
//746137348
#define N 150005
#define M 305
int f[31];
int main(){//freopen("D:\\input.txt","r",stdin);//freopen("D:\\output.txt","w",stdout);int T;scanf("%d", &T);for(int i = 0;i <= 31;i++){f[i] = 1<<i;}while(T --){int n;scanf("%d", &n);if(n < 3){printf("IMPOSSIBLE\n");continue;}int fff = 0;for(int i = 0;i <= 31;i++){if(f[i] == n){printf("IMPOSSIBLE\n");fff = 1;break;}}if(fff) continue;int flag = 0;if(n%2 == 1){flag = 1;printf("%d = %d + %d", n, n/2, n/2+1);}else{for(int s = 2;s <= n;s++){if(s%2 == 0){int i = s/2;if(n%i==0 && (n/i)%2==1){int t = i*2;int tmp = (n/i)/2;int x = tmp-i+1;int ff = 0;if(x > 0){printf("%d = ", n);for(int j = x;j < x+t;j++){if(ff) printf(" + ");ff = 1;printf("%d", j);}flag = 1;break;}}}if(s%2 == 0) continue;int i = (s+1)/2;if(n%s != 0) continue;int t = n/s;					int x = t-i+1;if(x <= 0) continue;printf("%d = ", n);int h = x+s;int ff = 0;for(int j = x;j < h;j++){if(ff) printf(" + ");ff = 1;printf("%d", j);}flag = 1;break;}}if(!flag) printf("IMPOSSIBLE");printf("\n");} return 0;
}


这篇关于ICPC 6929 Sums的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1018084

相关文章

2014年ACM/ICPC亚洲区现场赛广州赛区总结

本来不想提这件事的,后来学姐找我谈心时提到这件事,我突然意识到在这件事情上我错了一次,明明答应的去参加这场比赛,最后临时决定不去......其实中间有很多很多原因 1:我和tyh,sxk临时不去主要是广州太远,我们身上money不够,呵呵。。。别笑我们,你以为我们是高富帅啊,去一趟广州消费要2个月的生活费,奖学金又没发,你让我找我妈要她辛辛苦苦挣来的工资吗?!从哈尔滨到广州单来回的火车票每个人就

【SPOJ】Triple Sums【FFT】

传送门:【SPOJ】Triple Sums 题目分析: 首先我们不考虑 i<j<k i<j<k这个条件,构造多项式: Y=∑xai \qquad\qquad\qquad Y = \sum x^{a_i} 那么 ai+aj+ak=S ai+aj+ak=S的个数即 xai+aj+ak=S x^{a_i+a_j+a_k=S}的个数,等价于 Y3中xS Y^3中x^S的系数。 然后我们考虑容斥

2020年ICPC南京站 补题记录

文章目录 A - Ah, It's Yesterday Once More(构造)E - Evil Coordinate(构造)F - Fireworks(概率+三分)H - Harmonious Rectangle(打表)K - K Co-prime Permutation(签到)L - Let's Play Curling(贪心+签到)M - Monster Hunter(树形dp)

2014 ACM-ICPC World Final Info board

现在是2014年6月26日00:07:21,同样也是2014年acm wf结束的当晚,几家欢喜几家愁,真的是不知道最近在干些什么就是懈怠了也木有以前那种干劲了,恩,这么说吧就是游戏玩起来了,暑假有时候是需要节制的否则这个暑假就这么浪费了有些可惜,着实是这么表示,而且2015年的亚洲区会在NEU举办,下面附张榜单,哎其他的就不说什么了,表示到了这个时候追悔莫及还是可以的只要不继续越陷越深就好了。缓步

HDU 5240 E - Exam(2015 ACM-ICPC China Shanghai Metropolitan Programming Contest)

题目链接:click here~~ 【题目大意】DRD要参加考试,考试前需要ri个准备时间,考试在ei时间后开始,考试持续li时间,给出多场考试时间安排表,问能否通过所有考试? 【解题思路】不知道是不是数据水还是题目就是这样的,直接判断ri和ei输出结果居然就过了,如果在现场赛能有这样的人品就好了。。 代码: #include <stdio.h>#include <math.h>#

HDU 5444 Elven Postman (2015 ACM/ICPC Asia Regional Changchun Online)

【题目链接】:click here~~ 【题目大意】: HDU 5444 题意:在最初为空的二叉树中不断的插入n个数。对于每个数,从根节点开始判断,如果当前节点为空,就插入当前节点,如果当前节点不为空,则小于当前节点的值,插入右子树,否则插入左子树。 接着q次询问,每次询问一个值在二叉树中从根节点开始的查找路径。 3 直接用二叉树模拟整个插入和询问的过程 代码:

HDU 5533 Dancing Stars on Me (2015ACM/ICPC亚洲区长春 计算几何)

【题目链接】:click here~~ 【题目描述】: Dancing Stars on Me Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 141    Accepted Submission(s): 96

HDU 5538 House Building(2015ACM/ICPC亚洲区长春几何体表面积)

【题目链接】:click here~~ 【题目描述】: House Building Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 119    Accepted Submission(s): 97 Probl

HDU 5532 Almost Sorted Array (2015ACM/ICPC长春LIS)

【题目链接】:click here~~ 【题目描述】: Almost Sorted Array Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 272    Accepted Submission(s): 132

HDU 5510 Bazinga 字符串HASH (2015ACM/ICPC亚洲区沈阳站)

【题目链接】:click here~~ 【题目大意】: Bazinga Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 39    Accepted Submission(s): 15 Problem Descri