设为首页 加入收藏

TOP

HDU 4982 Goffi and Squary Partition
2015-07-20 17:46:18 来源: 作者: 【 】 浏览:2
Tags:HDU 4982 Goffi and Squary Partition

题目链接:HDU 4982 Goffi and Squary Partition

题意:给出n和k,和为一个平方数的k-1个各不相同的数,在加上一个数(这个数也和k-1个数不同),他们总和等于n,求是否存在这样的序列。

思路:枚举平方数。构造最小的序列当然从1开始。




AC代码:

#include
  
   
int k,n;
bool judge(int sum,int lef)//sum前k-1项和,lef剩下。sum+lef=n
{
	if(lef==0 || 2*sum<(k-1)*k)
			return false;
	if(sum==1 && lef==1)
		return false;
	int x,ss;//ss为前k-2项和
	ss=0,x=0;
	for(int i=0;i
   
    x x++;//改变k-2项的值 //前k-2都是紧密排列的,如果(k-1),(k-2),lef相等,至少要移动2个位置才能满足要求。 if(temp==x && temp==lef)//k-2项+1等于k-1项等于lef return false; if(temp==x+1 && temp==lef)//k-2项+2等于k-1项等于lef return false; return true; } int main() { int i; int lef; while(scanf("%d %d",&n,&k)!=EOF) { int flag=0; for(i=1;i*i<=n;i++) { lef=n-i*i; if(judge(i*i,lef)) break; } if(i*i<=n) printf("YES\n"); else printf("NO\n"); } return 0; }
   
  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ScrollView与ListView合用(正确计.. 下一篇Codeforces 106D Treasure Island..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何在 C 语言中管理 (2025-12-25 03:20:14)
·C语言和内存管理有什 (2025-12-25 03:20:11)
·为什么C语言从不被淘 (2025-12-25 03:20:08)
·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)