WEEK13 作业 A - TT 的神秘任务1(必做)

2023-05-16

A - TT 的神秘任务1(必做)

题目描述

这一天,TT 遇到了一个神秘人。

神秘人给了两个数字,分别表示 n 和 k,并要求 TT 给出 k 个奇偶性相同的正整数,使得其和等于 n。

例如 n = 10,k = 3,答案可以为 [4 2 4]。

TT 觉得这个任务太简单了,不愿意做,你能帮他完成吗?

本题是SPJ

Input

第一行一个整数 T,表示数据组数,不超过 1000。

之后 T 行,每一行给出两个正整数,分别表示 n(1 ≤ n ≤ 1e9)、k(1 ≤ k ≤ 100)。

Output

如果存在这样 k 个数字,则第一行输出 “YES”,第二行输出 k 个数字。

如果不存在,则输出 “NO”。

Sample Input

8
10 3
100 4
8 7
97 2
8 8
3 10
5 3
1000000000 9

Sample Output

YES
4 2 4
YES
55 5 5 35
NO
NO
YES
1 1 1 1 1 1 1 1
NO
YES
3 1 1
YES
111111110 111111110 111111110 111111110 111111110 111111110 111111110 111111110 111111120

题解

分情况讨论
1.n<k 一定不行,直接输出NO
2.(n-k)%2==0(n、k都为偶数或n、k都为奇数)这种情况下一定可以,输出YES。k个数字:k-1个1和n-(k-1)
3.n为奇数,k为偶数,偶数个奇数或者偶数个偶数,最终都得到偶数,所以,输出NO
4.n为偶数,k为奇数,奇数个偶数才能得到偶数,所以选出的k个数都是偶数,那么就选k-1个2和n-2*(k-1),注意要先判断n是不是大于2*(k-1)(不是则输出NO)。

代码

#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char** argv) {
	int T;scanf("%d",&T);
	while(T--){
		int n,k;scanf("%d%d",&n,&k);
		if(n<k){
			printf("NO\n");
		}else if((n-k)%2==0){//n,k都为偶数或都为奇数 
			printf("YES\n");
			for(int i=0;i<k-1;i++){
				printf("1 ");
			}
			printf("%d\n",n-(k-1));
		}else if(n%2==1){//n为奇数,k为偶数 
			printf("NO\n");
		}else{//n为偶数,k为奇数 
			if(n>2*(k-1)){
				printf("YES\n");
				for(int i=0;i<k-1;i++){
					printf("2 ");
				}
				printf("%d\n",n-2*(k-1));
			}else{printf("NO\n");}
		} 
	}
	return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WEEK13 作业 A - TT 的神秘任务1(必做) 的相关文章

  • CSDN如何转载一篇博客呢

    看到一篇挺好的文章想要转载怎么做呢 xff1f 方法一 xff1a 傻瓜式复制 不推荐 方法二 后台操作 推荐 方法一 xff1a 傻瓜式复制 不推荐 一个个图文抠 xff0c 效率低下 xff0c 且版面格式会发生变化 方法二 后台操作
  • Exchange 2013升级以及域名绑定等若干问题

    环境简介 Exchange 2013服务器位于ad域中 xff0c 系统为Windows server 2012 R2 xff0c 其内部域名为 xff1a mail ad com 一 Exchange客户端无法在浏览器中正常运行 在域中部
  • 无线攻击 --Wifite(批量破解无线工具)

    文章目录 一 用法概述二 命令格式三 用法示例3 1 破解某个AP 一 用法概述 Wifite使用命令行界面连续攻击多个WPA WPS加密的网络 xff0c 不需要记住参数即可使用它 xff1a 按信号强度排序 xff08 db单位 xff
  • 图像轮廓提取算法(Opencv基于C++实现)

    Opencv图像轮廓提取 0 实现结果如下 xff1a 1 打开图像代码2 轮廓提取函数3 代码实现 本文主要实现了图像的轮廓提取 xff0c 首先先给出直观的轮廓实现结果 xff1a 0 实现结果如下 xff1a 1 打开图像代码 注意图
  • c++实现2048小游戏

    C 43 43 实现2048 2048小游戏界面展示效果图 xff1a span class token macro property span class token directive hash span span class toke
  • OpenGL深度测试

    OpenGL深度测试 1 深度缓冲 Depth Buffer 2 深度缓冲实现3 深度测试函数测试对比4 深度冲突 Z fighting 1 深度缓冲 Depth Buffer 深度缓冲是由窗口系统自动创建的 xff0c 它会以16 24或
  • OpenGL渲染STL三角网格模型

    Opengl绘制STL模型 实现效果STL模型文件实现代码 实现效果 首先先看看使用可编程管线实现的STL模型的渲染效果 xff0c 网格模型的数量大约在100来万 xff0c 实现的效果还是挺鲁棒 STL模型文件 关于STL的文件格式主要
  • Opengl同时显示模型和三角网格线框

    Opengl同时显示模型和三角网格线框 glPolygonMode 函数及相关参数同时显示模型和三角网格线框 glPolygonMode 函数及相关参数 glPolygonMode 参数1 参数2 参数1 可以为 xff1a GL FRON
  • Shader Language编程语言(CG/HLSL/GLSL)

    Shader Language编程语言 Shader Language编程语言 Shader Language编程语言 Shader Language目前主要有3种主流语言 xff1a 基于 OpenGL 的 OpenGL Shading
  • D3D12编译遇到的问题

    D3D12编译遇到的问题 X3501 39 main 39 entrypoint not foundLNK2019 无法解析的外部符号 main xff0c 函数 34 int cdecl invoke main void 34 invok
  • VS2019CPU/内存诊断功能

    VS2019诊断功能 vs代码内存 CPU使用率诊断内存泄漏诊断 vs代码内存 CPU使用率诊断 在代码运行过程中 xff0c 有时候会出现内存泄漏 xff0c 内存 CPU占用过高等情况 xff0c 这些情况的出现十分影响代码的运行效率和
  • C++和Python Java的区别

    C 43 43 和Python Java的区别 C 43 43 执行效率高 xff0c 编程难 开发效率低 Python执行效率低 xff0c 编程简单 开发效率快 C 43 43 为编译性编程语言 xff0c Python 则为解释性编程
  • 实时渲染和离线渲染

    实时渲染和离线渲染 1 实时渲染2 离线渲染3 对比 1 实时渲染 实时渲染指的是一边计算画面 xff0c 一边输出显示 特点是 xff1a 能实时操控 实时交互 xff0c 并且以极高的速度将3D图像处理了 xff0c 同时实现了逼真的效
  • Linux中crontab的坑爹环境变量问题

    手动在CentOS中执行sh脚本 xff0c 调用java程序 xff0c 一切正常 xff1b 将该sh加入crontab中定时调度之后 xff0c 挂了 xff0c 完全没有执行到的感觉啊 xff01 xff01 xff01 查看cro
  • Win32窗口

    Win32窗口 span class token comment windows 开发所需头文件 包含Windows开发所需要的宏 类 函数 结构体等结构的定义 span span class token macro property sp
  • MFC按钮禁用实现

    MFC按钮禁用 m Bn xxx span class token punctuation span span class token function EnableWindow span span class token punctuat
  • MFC屏幕截图

    屏幕截图 实现屏幕截图 xff0c 并保存多张图片 截图的效果 span class token keyword void span span class token class name CMFCApplication1Dlg span
  • obj模型文件的格式

    obj模型的格式 带纹理的obj模型mtl材质文件推荐参考库文件tiny obj loaderassimp 带纹理的obj模型 一般带纹理的obj模型需要有以下三个文件 xff0c 分别是 obj文件 xff0c mtl纹理库文件 xff0
  • n维顶点模板类

    span class token keyword template span span class token operator lt span span class token keyword int span nD span class
  • MFC鼠标移入移出操作

    MFC鼠标移入移出 span class token keyword void span span class token class name CMFCApplication3Dlg span span class token doubl

随机推荐

  • 目标物体缩放方法

    目标物体缩放方法 1 移动相机位置改变视场角 1 移动相机位置 最容易想到的方法是通过改变相机的位置 xff0c 将相机靠近或者远离目标物体从而实现物体大小的放大或者缩小 如下图所示 xff1a 改变视场角 视场角FOV xff08 Fie
  • gamma校正

    伽玛校正 xff08 Gamma Correction xff09 校正的目的输入转至线性空间输出前进行校正衰减 校正的目的 保证所有的输入都转换到线性空间 xff0c 并在线性空间下做各种光照计算 xff08 线性空间进行操作 xff09
  • d3d11释放问题

    d3d11释放问题 释放过程中遇到明明已经调用release xff08 xff09 但是内存却没有下降 xff0c 后来查看了其计数器n发现其不为0 xff0c 也就是没释放干净 xff0c 只是内部引用数减1 span class to
  • imgui显示中文

    imgui显示中文 首先先加载中文字体 span class token comment Load Fonts span io span class token punctuation span Fonts span class token
  • serialVersionUID作用

    原文出处 xff1a 未知 Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的 在进行反序列化时 xff0c JVM会把传来的字节流中的serialVersionUID与本地相应实体 xff08 类
  • linux命令与makefile学习

    linux命令与makefile学习 文件权限通配符 常用命令查看CPU 内存占用makefilegcc与g 43 43 区别 xff1a Linux上有一句话 xff1a 一切皆文件 普通文件 目录文件 d xff08 directory
  • VS在输出窗口显示信息

    输出窗口的信息传给函数 xff0c 函数内部调用系统函数OutputDebugString xff0c 就可以把调试信息打印到输出窗口 span class token keyword void span span class token
  • 使用 nlohmann 解析 json 文件

    使用 nlohmann 解析 json 文件 nlohmann json的配置json基本数据结构json文件的读取 构造与输出C 43 43 对象与nlohmann json对象的转换C 43 43 对象转换成nlohmann json对
  • ImGui实现Button高亮

    ImGui实现Button高亮 记录下在ImGui中实现Button高亮的操作 xff0c 跟着官方demo走没看到具体的实现方式 xff0c 想着渲染是不断进行的 xff0c 让下一帧绘制上次选择的状态 结果如下 xff1a 部分代码 s
  • HLSL笔记

    常量缓冲区 Constant Buffer 常量缓冲区允许C 43 43 端将数据传递给HLSL中使用 xff0c 在HLSL端 xff0c 这些传递过来的数据不可更改 xff0c 因而是常量 常量缓冲区对这种使用方式有所优化 xff0c
  • opengl shader实现Bezier曲线

    opengl shader实现Bezier曲线 顶点着色器片段着色器向shader传递数据 顶点着色器 span class token keyword const span span class token keyword char sp
  • windows创建窗口

    windows创建窗口 CreateWindowW创建窗口句柄窗口可以调节尺寸以及移动完整代码窗口的效果创建指定画面大小 xff0c 不包含窗口栏尺寸且无法调整尺寸的窗口思考 一般来讲 xff0c 要绘制或者渲染目标物体首先需要创建窗口 x
  • makefile文件解释

    makefile文件解释 makefile文件详细解释 makefile文件 CC span class token operator 61 span g 43 43 PROGRAM span class token operator 61
  • python实现自动化鼠标点击

    python实现自动化鼠标点击 span class token keyword import span pyautogui span class token keyword import span time span class toke
  • opengles共享纹理

    OpenGL ES 3 0中引入的 外部纹理 xff08 External Textures xff09 扩展 xff0c 允许将OpenGL纹理对象绑定到由外部API创建的纹理对象 xff0c 例如相机采集到的图像 视频流或其他图像数据
  • https 证书工具 Letsencrypt 简单教程

    https取代http是大势所趋 xff0c https的好处本文不在赘述 xff0c 很多公司和机构都在推进这一进程 xff0c Apple公司甚至规定 xff0c iOS上的App应用必须使用https 因此 xff0c 正是受到App
  • Linux简单命令使用笔记

    之前一直用虚拟机 xff0c 其实购买一台阿里云服务器学习linxu更加的方便快捷 阿里云服务器购买 1 electerm连接登录linux SecureCRT和SFTP 最近linux连接工具electerm 上面是两款不同的连接linu
  • 软件工程的十大模型

    1 软件生命周期模型 软件生命周期由软件定义 软件开发与运维 xff08 也称软件维护 xff09 3个时期组成 xff0c 每个时期又进一步划分成若干个阶段 问题定义 xff1a 要解决的问题是什么 xff1f 通过对客户的访问调查 xf
  • WEEK6 限时测试A - 掌握魔法の东东 II

    A 掌握魔法 东东 II 题目描述 从瑞神家打牌回来后 xff0c 东东痛定思痛 xff0c 决定苦练牌技 xff0c 终成赌神 xff01 东东有 A B 张扑克牌 每张扑克牌有一个大小 整数 xff0c 记为a xff0c 范围区间是
  • WEEK13 作业 A - TT 的神秘任务1(必做)

    A TT 的神秘任务1 xff08 必做 xff09 题目描述 这一天 xff0c TT 遇到了一个神秘人 神秘人给了两个数字 xff0c 分别表示 n 和 k xff0c 并要求 TT 给出 k 个奇偶性相同的正整数 xff0c 使得其和