嵊州D3T3 light
嵊州D3T3 light
光恰似水
兄弟俩曾经 k 次受到过父母的物质激励。
一开始,兄弟俩的能力值为 1,最后,兄弟俩的能力值是 1 + (2 ^k−1)/ n 。
当兄弟俩受到价值为 mi 的物质的激励时,他们的能力值会变成原来的 1 + 1/ mi 倍。
但是现在,他们已经不记得父母给他们的物质激励的价值是多少了。
请你给出一种任意可行的方案。
Input
第一行一个整数 T,表示数据组数。
对于每组数据,一行两个整数,代表 n, k。
Output
输出共 T 行。
对于每组数据,输出 k 个整数 mi
表示一种可能的答案,或者一个空行。
Examples
| light.in | light.out |
| 1 4 3 | 1 4 10 |
Notes
对于所有数据,满足 0 ≤ T ≤ 10 , 0 ≤ k ≤ 60 , 1 ≤ n ≤ 10^18。
Subtask1[11pts]
T = 0
Subtask2[20pts]
k = 0
Subtask3[28pts]
T = 1 , n, k ≤ 3
Subtask4[41pts]
无特殊限制
开始没有看懂题目
就先写了个函数模拟
//用函数模拟
void func(int time,int en){
if(time>k) return;
if(time==k&&en==+((pow(,k))-)/(n*1.0f)) return;
for(m[time]=;m[time]<=;m[time]++){
if(en==+((pow(,k))-)/(n*1.0f)) return;
else func(time+,en*(+m[time]));
}
;
}
然后主函数的话
int t;
cin>>t;
for(int i=;i<t;i++){
cin>>n>>k;
func(,);
for(int j=;j<=k;j++)
cout<<m[j]<<" ";
cout<<endl;
}
std
其实它是一个递归调用的过程
void work(long long n, long long k)
{
if (k == ) {puts(""); return;}//边界条件1: 特殊值
if (k == ) {printf("%lld\n", n); return;}//边界条件2:回溯到了第1次 if (n & )//如果n在二进制下末位是一的话(即n为奇数)……这样的话
{
printf("%lld ", n);
work((n + ) >> , k - ); //右移n+1一位,舍弃多余的位,相当于(n+1)/2
}
else//否则n为偶数……
{
printf("%lld ", n - + (1LL << k));
work(n >> , k - );//右移n一位,舍弃多余的位,相当于n/2
}
}
所以,再加一个主函数内的调用即可
#include <cstdio> using namespace std; long long n, k; int T; void work(long long n, long long k)
{
if (k == ) {puts(""); return;}//边界条件1: 特殊值
if (k == ) {printf("%lld\n", n); return;}//边界条件2:回溯到了第1次 if (n & )//如果n(的二进制数)是像1111111111111……这样的话 (在十进制下就是要2^n-1这样的)
{
printf("%lld ", n);
work((n + ) >> , k - ); //把n+1右移一位,舍弃多余的位(向下取整),相当于int强制转换,但不相当于(n+1)/2(向零取整)
}
else//否则……
{
printf("%lld ", n - + (1LL << k));
work(n >> , k - );//右移n一位,舍弃多余的位,相当于n/2
}
} int main()
{
// freopen("light.in", "r", stdin);
// freopen("light.out", "w", stdout); scanf("%d", &T);
while (T--)
{
scanf("%lld%lld", &n, &k);
work(n, k);
}
return ;
}
OK!
嵊州D3T3 light的更多相关文章
- CSharpGL(13)用GLSL实现点光源(point light)和平行光源(directional light)的漫反射(diffuse reflection)
CSharpGL(13)用GLSL实现点光源(point light)和平行光源(directional light)的漫反射(diffuse reflection) 2016-08-13 由于CSh ...
- 【MVVM Light】Messager的使用
一.前言 在MVVM编程的模式中,有时候我们会遇到一个很尴尬的情况: 若干个xaml.cs都复用一个ViewModel,当ViewModel想传递一个特定的消息给某一个xaml.cs的时候 ...
- bzoj4691: Let There Be Light
如果原点能被一个光源照到,那么这两个点之间一定没有任何球.我们可以通过三分距离来确定某线段和球是否有交点. 注意到m非常小,于是我们可以枚举原点被哪些光源照到.由于\(O(2^{n}*m)\)会超时, ...
- 【MVVM Light】新手初识MVVM,你一看就会
一.前言 作为一个初入软件业的新手,各种设计模式与框架对我是眼花缭乱的.所以当我接触到这些新知识的时候就希望自己能总结几个步骤,以便更好更方便的在日常工作中进行使用. MVVM顾名思义就是Model- ...
- Sensor(LIGHT)
package com.example.sensor01; import java.util.List; import android.hardware.Sensor; import android. ...
- sourcesafe.light 开源项目启动
sourcesafe.light 源于一个2D独立砖块沙盒游戏. 在这个游戏的设计中碰到了一个瓶颈:这个游戏想把玩家变成一个个neo,在矩阵世界中没有什么不可以修改. 这个游戏要跨平台,玩家的修改操作 ...
- C#Light 和 uLua的对比第二弹
上次的对比大家还有印象否,C#Light和ulua对比各有胜负 今天我们加入一个去反射优化,这是uLua没办法实现的优化,我们也就只能不要脸的胜之不武了 以原生执行同一测试时间为X1,数字越小的越快 ...
- C#Light/Evil合体啦
决定将C#Light和C#Evil合并成一个项目,毕竟C#Evil包含C#Light所有的功能,分开两个,基本的表达式方面有什么bug还得两头改 暂时就C#Light/Evil这么叫吧,庆祝合体,画了 ...
- C#最良心脚本语言C#Light/Evil,Xamarin\WP8\Unity热更新最良心方案,再次进化.
C#Light的定位是嵌入式脚本语言,一段C#Light脚本是一个函数 C#Evil定位为书写项目的脚本语言,多脚本文件合作,可以完全用脚本承载项目. C#Light/Evil 使用完全C#一致性语法 ...
随机推荐
- WPF VisualTreeHelper的使用
<Window x:Class="MyWpf.MainWindow" xmlns="http://schemas.microsoft.com/winf ...
- WPF刷新界面
Winform 里有 Application.DoEvents();可刷新! WPF 里没这个,尽管可用委托实现多线程,但是刷新还是不行! 后来找到了 类似App.DoEvents()的方法(): 代 ...
- 通通玩blend美工(7)——简约而不简单的块
原文:通通玩blend美工(7)--简约而不简单的块 最近在研发一个WPF快速开发框架,满脑子都是各种逻辑各种模式,写一篇比较休闲娱乐的博客,宣泄下我对美工的热爱. 我一直以来有意无意在手机应用或者各 ...
- MVVM模式的几个开源框架
原文:MVVM模式的几个开源框架 实现MVVM的框架有很多,如: • MVVM Light Toolkit: http://mvvmlight.codeplex.com • Microsoft Pri ...
- Android微信支付SDK
App对接微信调起微信支付需要在微信平台注册,鉴别的标识就是App的包名,所以将申请的包名单独打包成一个Apk文件,则在其他的App调起此Apk的时候同样可以起到调用微信支付的功能.这样就实现了调起微 ...
- wpf 事件参数 绑定到viewmdoel
public sealed class EventCommand : TriggerAction<DependencyObject> { public static readonly De ...
- NUGET源不存在,安装Nuget包提示“本地源不存在”
困扰了两天的问题,终于找到原因了.因此来这里记录一下~ 前两天写项目时,要从NUGET上安装个第三方库,但不管是从可视化的管理器还是管理器控制台安装,都提示“本地源‘*******’不存在”.然后到网 ...
- ARTS 12.24 - 12.28
从陈皓博主的专栏里学到一个概念,争取可以坚持下去: 每周一个 Algorithm,Review 一篇英文文章,总结一个工作中的技术 Tip,以及 Share 一个传递价值观的东西! 一个 Algori ...
- 基于VUE实现的新闻后台管理系统-二
基础环境及最后的开发效果已完成说明,接下来就开始配置. ¶npm初始化 新建项目文件夹VueDemo,在其内执行如下脚本 npm init -y 安装vue-cli构建包 yarn add vue-c ...
- Qt 5.6 5.8 vs2015 编译静态库版本(有全部的截图)good
安装Qt 去Qt官网下载Qt安装包 安装Qt和源码,一定要勾选source选项 添加bin到系统变量 工具 需要python3和 perl. vs2015 第三方工具,到官方下载安装 在命令行 ...