嵊州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的更多相关文章

  1. CSharpGL(13)用GLSL实现点光源(point light)和平行光源(directional light)的漫反射(diffuse reflection)

    CSharpGL(13)用GLSL实现点光源(point light)和平行光源(directional light)的漫反射(diffuse reflection) 2016-08-13 由于CSh ...

  2. 【MVVM Light】Messager的使用

    一.前言       在MVVM编程的模式中,有时候我们会遇到一个很尴尬的情况: 若干个xaml.cs都复用一个ViewModel,当ViewModel想传递一个特定的消息给某一个xaml.cs的时候 ...

  3. bzoj4691: Let There Be Light

    如果原点能被一个光源照到,那么这两个点之间一定没有任何球.我们可以通过三分距离来确定某线段和球是否有交点. 注意到m非常小,于是我们可以枚举原点被哪些光源照到.由于\(O(2^{n}*m)\)会超时, ...

  4. 【MVVM Light】新手初识MVVM,你一看就会

    一.前言 作为一个初入软件业的新手,各种设计模式与框架对我是眼花缭乱的.所以当我接触到这些新知识的时候就希望自己能总结几个步骤,以便更好更方便的在日常工作中进行使用. MVVM顾名思义就是Model- ...

  5. Sensor(LIGHT)

    package com.example.sensor01; import java.util.List; import android.hardware.Sensor; import android. ...

  6. sourcesafe.light 开源项目启动

    sourcesafe.light 源于一个2D独立砖块沙盒游戏. 在这个游戏的设计中碰到了一个瓶颈:这个游戏想把玩家变成一个个neo,在矩阵世界中没有什么不可以修改. 这个游戏要跨平台,玩家的修改操作 ...

  7. C#Light 和 uLua的对比第二弹

    上次的对比大家还有印象否,C#Light和ulua对比各有胜负 今天我们加入一个去反射优化,这是uLua没办法实现的优化,我们也就只能不要脸的胜之不武了 以原生执行同一测试时间为X1,数字越小的越快 ...

  8. C#Light/Evil合体啦

    决定将C#Light和C#Evil合并成一个项目,毕竟C#Evil包含C#Light所有的功能,分开两个,基本的表达式方面有什么bug还得两头改 暂时就C#Light/Evil这么叫吧,庆祝合体,画了 ...

  9. C#最良心脚本语言C#Light/Evil,Xamarin\WP8\Unity热更新最良心方案,再次进化.

    C#Light的定位是嵌入式脚本语言,一段C#Light脚本是一个函数 C#Evil定位为书写项目的脚本语言,多脚本文件合作,可以完全用脚本承载项目. C#Light/Evil 使用完全C#一致性语法 ...

随机推荐

  1. Selenium-actions

    一.鼠标事件 清单 1. 鼠标左键点击 Actions action = new Actions(driver);action.click();// 鼠标左键在当前停留的位置做单击操作 action. ...

  2. 【WPF】右下角弹出自定义通知样式(Notification)——简单教程

    原文:[WPF]右下角弹出自定义通知样式(Notification)--简单教程 1.先看效果 2.实现 1.主界面是MainWindow 上面就只摆放一个Button即可.在Button的点击事件中 ...

  3. apache卸载

    windows下apache如何完整卸载? 原创 2014年08月14日 21:30:38 13960 1.运行services.msc,在服务中停止 apache 服务. 2.运行命令行程序,输入 ...

  4. Sublime text追踪函数插件:ctags[转载]

    一.下载(择其一即可): 1)http://ctags.sourceforge.net/ 2)http://prdownloads.sourceforge.net/ctags/ 解压后单独取出ctag ...

  5. 深入解析Android关机

    下图详细阐释了Android的关机顺序. 第一步: 按住电源按钮半秒钟(500ms). 第二步: 之后,PhoneWindowManager.java 将捕获长按电源按钮这一事件并调用“interce ...

  6. Xpose菜鸟笔记

    0.官网入门教程 https://github.com/rovo89/XposedBridge/wiki/Development-tutorial 1.Hook自定义类中的私有类 https://fo ...

  7. Linux编译安装Qt 5.4.1(-qt-xcb是必须要指定的,卸载自带的gcc等)

    转载请注明文章:Linux编译安装Qt 5.4.1 出处:多客博图 很久不写文章了,过程很简单,但是操作很多,简单说吧. 前言: 操作系统CentOS 6.6,64位的. 1.安装gcc 4.8.4, ...

  8. 内存页面的各种属性(就是Read, Write, Execute的组合)

    PAGE_NOACCESS 禁止写入执行读取查看进程内存区域能发现,NOACCESS属性的内存页面都是FREE状态的(未提交使用的内存区域),只有内存区域最后的0x7FFE1000-0x7FFF000 ...

  9. 32个Python爬虫项目让你一次吃到撑

    整理了32个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快~O(∩_∩)O WechatSogou [1]- 微信公众 ...

  10. 基于ASP.NET的新闻管理系统(二)效果展示

    5. 新闻管理系统开发与实现 5.1前台新闻页面 主页面 新闻栏展示新闻 搜索新闻 菜单栏链接新闻 后台登录界面 大管理员后台管理界面 小管理员后台管理界面 修改密码 增加新闻界面 栏目管理界面   ...