news 2026/5/26 11:53:09

《P2520 [HAOI2011] 向量》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《P2520 [HAOI2011] 向量》

题目描述

给你一对数 (a,b),你可以任意使用 (a,b),(a,−b),(−a,b),(−a,−b),(b,a),(b,−a),(−b,a),(−b,−a) 这些向量,问你能不能拼出另一个向量 (x,y)。

说明:这里的拼就是使得你选出的向量之和为 (x,y)。

输入格式

第一行数组组数 t(t≤50000)。

接下来 t 行,每行四个整数 a,b,x,y(−2×109≤a,b,x,y≤2×109)。

输出格式

t 行,每行为Y或者为N,分别表示可以拼出来,不能拼出来。

输入输出样例

输入 #1复制

3 2 1 3 3 1 1 0 1 1 0 -2 3

输出 #1复制

Y N Y

说明/提示

样例解释

第一组:(2,1)+(1,2)=(3,3)。

第三组:(−1,0)+(−1,0)+(0,1)+(0,1)+(0,1)=(−2,3)。

代码实现:

// luogu-judger-enable-o2 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; typedef long long ll; inline ll rd() { ll x=0,f=1; char c=getchar(); while(c<'0'||c>'9') { if(c=='-') f=-1; c=getchar(); } while(c>='0'&&c<='9') { x=(x<<1)+(x<<3)+(c^48); c=getchar(); } return x*f; } ll T,A,B,X,Y; ll exgcd(ll a,ll b,ll &x,ll &y) { if(!b) { x=1,y=0; return a; } ll d=exgcd(b,a%b,x,y); ll t=x; x=y; y=t-a/b*y; return d; } int main() { T=rd(); while(T--) { A=rd(),B=rd(),X=rd(),Y=rd(); if(!A&&!B) { if(!X&&!Y) printf("Y\n"); else printf("N\n"); continue; } if(A<0) A=-A; if(B<0) B=-B; if(A<B) swap(A,B); ll k1,k2,d1=exgcd(A,B,k1,k2); if(X%d1) { printf("N\n"); continue; } ll k3,k4,d2=exgcd(A,B,k3,k4); if(Y%d2) { printf("N\n"); continue; } k1*=X/d1; k2*=X/d1; k3*=Y/d2; k4*=Y/d2; if((!A||!B) || ((k1+k2)%2+2)%2==((k3+k4)%2+2)%2 ) { printf("Y\n"); continue; } if(((A/d1)&1)^((B/d1)&1) || ((A/d2)&1)^((B/d2)&1) ) printf("Y\n"); else printf("N\n"); } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/15 13:01:44

全栈小能手的烦恼:键盘敲累了还要开会

全栈小能手的烦恼&#xff1a;键盘敲累了还要开会如果你问我&#xff0c;什么时候意识到自己已经不再是“纯程序员”了&#xff1f;不是第一次写前端&#xff0c;也不是第一次带新人&#xff0c;而是——有一天&#xff0c;我发现自己一天没怎么敲代码&#xff0c;却异常疲惫。…

作者头像 李华
网站建设 2026/5/23 1:32:06

Spring Boot 实现网络限速,一个注解搞定!

概述本文介绍在 Spring Boot 3 中实现多维度网络带宽限速的完整方案。基于令牌桶算法手动实现核心逻辑&#xff0c;通过自定义 HandlerInterceptor 拦截请求、HttpServletResponseWrapper 包装响应流、RateLimitedOutputStream 控制输出速率&#xff0c;实现对文件下载、视频流…

作者头像 李华
网站建设 2026/5/23 18:04:52

基于SpringBoot的校园新闻管理系统毕业设计

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于SpringBoot框架的校园新闻管理系统&#xff0c;以满足现代校园信息化管理的需求。具体研究目的如下&#xff1a;提高校园新闻传播效…

作者头像 李华
网站建设 2026/5/10 4:24:31

unittest自动化测试框架详解

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、Unittest简介 Unittest是python内置的一个单元测试框架&#xff0c;主要用于自动化测试用例的开发与执行 简单的使用如下 import unittestclass TestStri…

作者头像 李华
网站建设 2026/5/22 3:54:14

性能测试的流程及测试工具大盘点

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 在为大家介绍性能测试工具以前&#xff0c;先让我们一起回顾一下什么是性能测试。1、为什么需要性能测试&#xff1f;举个例子。下图是一张交通图。图中的车流类…

作者头像 李华