loj3257. 「ROIR 2020 Day 1」平方差

3257. 「ROIR 2020 Day 1」平方差


Sol

比较水的一道题。

(x+y)(xy)=n2

x+y和x-y奇偶性要相同

若n为奇数 1*n成立 。

若n为偶数 x=n/2;

  若x为奇数就是No (无法划分成奇偶性相同的两块)

  若x为偶数就是Yes

注意判0 1 4即可。

复制代码
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
#define ll long long
using namespace std;
ll n;
int main(){
    scanf("%lld",&n);
    if(n==1||n==4){puts("No");return 0;}
    if(n==0){puts("Yes\n1 1\n");return 0;}
    if(n&1)printf("Yes\n%lld %lld\n",(n+1)>>1,((n+1)>>1)-1);
    else {
        n>>=1;
        if(n%2==0){
            ll x=(2+n)/2,y=x-2;
            printf("Yes\n%lld %lld\n",x,y);
        }
        else puts("No");
    }
    return 0;
}
View Code
复制代码

 

posted @   liankewei123456  阅读(254)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示