Slava and tanks 877C】的更多相关文章

C. Slava and tanks time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Slava plays his favorite game "Peace Lightning". Now he is flying a bomber on a very specific map. Formally, map is…
http://codeforces.com/problemset/problem/877/C   C. Slava and tanks time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Slava plays his favorite game "Peace Lightning". Now he is flying a…
题目链接:http://codeforces.com/problemset 题目大意:有n个格子,某些格子里可能有一个或多个坦克,但不知道具体位置,每个坦克被轰炸一次就会移动到相邻的格子里(第1个格子只能往第2个格子移动,第n个格子只能往第n-1个格子移动),被轰炸两次就会报废,问最少需要轰炸几次才能保证所有坦克全部报废,请输出轰炸的位置. 解题思路:其实就是先把1~n所有的偶数输出,再输出所有的奇数,再输出所有的偶数.因为通过题意可以知道我们需要让坦克出现在任意格子中都要被轰炸两次,才能保证摧…
[链接] 我是链接,点我呀:) [题意] 有n个位置,每个位置都可能有不定数量的tank; 你每次可以选择一个位置投掷炸弹. 并且,这个位置上的所有tank都会受到你的攻击. 并且失去一点体力. 然后它们可能会往左走一格,或者往右走一格. 每个tank的体力都为2. 问你打掉所有的tank最坏情况要多少次轰炸操作.然后输出所有的轰炸位置. [题解] 在2,4,6...轰炸 然后在1,3,5...轰炸 最后在2,4,6轰炸. 可以保证每个tank都被炸死. [代码] #include <bits/…
题目出处:http://codeforces.com/problemset/problem/877/C 题目大意:按照游戏规则,求最小炸弹使用次数 #include<iostream> using namespace std; //本题应该是默认只能增序轰炸 int main(){ int n; cin>>n; cout<<n+n/<<endl; ;i<=n;i+=)cout<<i<<" "; ;i<=…
C. Slava and tanks time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Slava plays his favorite game "Peace Lightning". Now he is flying a bomber on a very specific map. Formally, map is…
A. Alex and broken contest time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output One day Alex was creating a contest about his friends, but accidentally deleted it. Fortunately, all the problems…
A. Alex and broken contest 题意 判断一个字符串内出现五个给定的子串多少次. Code #include <bits/stdc++.h> char s[110]; using namespace std; typedef long long LL; char* rec[5] = {"Danil", "Olya", "Slava", "Ann", "Nikita"}; i…
Slava plays his favorite game "Peace Lightning". Now he is flying a bomber on a very specific map. Formally, map is a checkered field of size 1 × n, the cells of which are numbered from 1 to n, in each cell there can be one or several tanks. Sla…
Problem F: Tanks a Lot Imagine you have a car with a very large gas tank - large enough to hold whatever amount you need. You are traveling on a circular route on which there are a number of gas stations. The total gas in all the stations is exactly…
B. Plane of Tanks: Pro Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/175/problem/B Description Vasya has been playing Plane of Tanks with his friends the whole year. Now it is time to divide the participants into several…
Description Vasya has been playing Plane of Tanks with his friends the whole year. Now it is time to divide the participants into several categories depending on their results. A player is given a non-negative integer number of points in each round o…
关于作者 我叫Slava Akhmechet,本人是 RethinkDB 的创始人之一,RethinkDB是一个设计来帮助开发者和运营团队来处理无结构数据的一个开源的分布式数据库,用户可以使用它来作为数据库来打造自己的应用. 我们现在正在招人,欢迎有志者加入. 如何选择创意 25 Feb 2015 宏观上说,根据本人的经验我认为运作一个初创公司需要知道的一个很重要的事情是,创新市场的反应是非常高效的.如果该市场环境适合一个初创企业发展起来的话,那么非常有可能市场上已经有多个类似的初创企业存在了.…
10 相机控制 本节主要学习如何控制相机自动调整位置和焦距,使两个坦克一直同时在视野内.   image 在Hierarchy点击右键   image 点击 Create Empty,生成空对象,改名为CameraRig   image 设置CameraRig rotation为(40,60,0)   image 将MainCamera拖拽到CameraRig中,使之成为CameraRig的子对象 设置MainCamera的position为(0,0,-65),rotation为(0,0,0)…
11 游戏流程控制 使用协程来控制游戏流程 11.1 添加MessageText 首先添加一个Text来显示文字   image 设置GameMgr   image 11.2 游戏整体流程 下面GameMgr.cs最终代码预览,后面我们逐个讲解. using UnityEngine; using UnityEngine.UI; using System.Collections; public class GameMgr : MonoBehaviour { private int roundNum…
9 发射子弹时蓄力 实现效果如下   image 按下开火键(坦克1为空格键)重置力为最小力,一直按着的时候蓄力,抬起的时候发射.如果按着的时候蓄力到最大,则自动发射,此时在抬起则不会重复发射. 首先定义和力相关的几个变量 private float crtForce = 15; // 当前的力 private float minForce = 15; // 最小力 private float maxForce = 30; // 最大力 蓄力还需要一个速度 private float force…
4 坦克移动和旋转 本节课的目标是实现同时wsad和上下左右控制两个坦克分别移动和旋转 4.1 本节代码预览   image 将上节课场景s2另存为s3. 4.2 添加车轮扬沙效果 从Prefabs里面找到DustTrail,拖放到Tank里面   image 单击DustTrail,改为LeftDustTrail,设置坐标为(-0.5,0,-0.75) 在Hierarchy里面使用快捷键Ctrl+D,复制LeftDustTrail,改为RightDustTrail, 设置坐标为(0.5,0,-…
0.案例介绍 0.1开始界面   点击Play Now 进入游戏界面   左边的坦克使用ws控制前后移动,ad键左右旋转,空格键开火   右边的坦克使用方向键上下控制前后移动,方向键左右键实现左右旋转,enter键开火   1.准备工作 本案例需要unity5.2以上版本. 素材为Tanks Tutorial.unitypackage 1.1新建3d项目   点击unity右上角的Layout将布局方式切换为2by3   拖动Project面板到Hierarchy面板下方   点击Project…
2  场景设置 2.1 本节效果预览   2.2 项目目录设置 点击Project面板的Create按钮,在根目录下面新建wm文件夹   Wm文件夹用于存放我们自己生成的Prefab和脚本等其他资源,主要是与Tanks项目原始资源和素材做区分. Wm文件夹下面有三个子文件夹   Prefabs用于存放我们自己定义的预设体 Scenes用于存放我们的游戏场景 Scripts用于存放我们自己写的C#脚本 2.3 新建场景 点击菜单File -> New Scene新建一个场景,保存到Scenes下面…
3 添加坦克 3.1 本节效果预览   3.2 另存新场景 首先打开上次的场景s1,另存为s2,放到同一个文件夹下面.   3.3 添加坦克模型 在Model文件夹下面找到Tank模型   将Tank拖放到Hierarchy里面   选中Tank,在Inspector面板里面设置Layer为Players   在弹出的面板里面选择No,this object only.   在后面章节子弹碰撞检测的时候需要检测一定范围之内有没有坦克,就是通过判断这个Layer是否为Players来实现的. 3.…
5 子弹 本节的任务是创建子弹的Prefab   image 首先从Model/Shell找到子弹的模型,拖入Hierarchy中,添加刚体组件,所有属性默认值. 添加Capsule Collider,选中 Is Trigger,设置center为(0,0,0.2),radius为0.15,Height为0.55, Direction为Z-Axis.   image 效果如下   image 从Prefabs中找到爆炸效果预设体ShellExplosion,拖放到Shell里面   image…
6 发射子弹 本节完成发射子弹的功能,最终代码如下:   image 首先,发射子弹得确定发射的位置和方向,还有发射的初始速度.具体的发射速度和按下发射按键的时间长短有关,这个关于子弹的蓄力我们在第九小节中会讲到. 首先我们在Tank上添加一个空物体,命名为FirePosition,设置Position为(0,1.7,1.35), Rotation为(350,0,0)   image 在wm/Scripts中创建C#脚本Shooter.cs   image 首先我们是在按下开火键的时候发射子弹的…
7 坦克血条 点击菜单GameObject->UI->Slider创建Slider   选中EventSystem,设置Horizontal Axis为HorzontalUI,Vertical Axis为VerticalUI   image 选中Canvas,设置Render Mode为World Space, Reference Pixels Per Unit为1   image 将Canvas拖到Tank中,使其成为Tank的子对象,相关参数设置如下   image 将Slider改名为H…
8 子弹碰撞处理 为了处理子弹打到坦克的伤害我们在这里新建一个Shell.cs 子弹有两种情况,碰到坦克炸开,没有碰到坦克则过2s子弹销毁. void Start () { Destroy (gameObject, 2); // 过2秒子弹销毁 } 碰到子弹我们这里使用OnTriggerEnter,要想这个发生首先要确保Shell预设体里面Collider的Is Trigger已经被选中了.   image 然后在OnTriggerEnter里面我们检测在一定范围之内的坦克有哪些. privat…
codeforces 414D Mashmokh and Water Tanks 题意 题解 \(a_i\):第 \(i\) 层的结点个数. \(b_i\):第 \(i\) 层初始有水的结点个数. 如果不允许关闭水塔,最后的答案就是 \(max\{a_i\}\). 现在允许关闭部分水塔,我们可以把一些连续层数的水汇聚到同一层.假设我们汇聚 \([l, r]\) 范围的水,总花费是 \(\Sigma_{i=l}^r\{b_i*(r-i)\}\). 双指针实现即可. 代码 #include<bits…
CF414D Mashmokh and Water Tanks 洛谷评测传送门 题目描述 Mashmokh is playing a new game. In the beginning he has kk liters of water and pp coins. Additionally he has a rooted tree (an undirected connected acyclic graph) that consists of mm vertices. Each vertex…
Tanks教程中在处理摄像机缩放的时候使用了下面的函数,取两个坦克的中心点之后,根据两个坦克之间的距离,保证两个坦克都在屏幕中,然后进行缩放. private float FindRequiredSize() { Vector3 desiredLocalPos = transform.InverseTransformPoint(m_DesiredPosition); float size = 0f; ; i < m_Targets.Length; i++) { if (!m_Targets[i]…
创建工程,场景: 将素材导入,Unity5以上的版本,无需担心素材包的路径问题,中文路径也可以直接导入了,简单方法就是将素材包直接拖到Project面板 游戏所需要的场景在Prefabs里的LevelArt,拖入后,加载很慢,是因为场景在渲染,这时需要去设置Window-lighting,选中Scene,讲auto的勾去掉,就不会自动渲染,其他设置以后再研究. 然后设置Camera中的背景色,选择自己喜欢的颜色,然后调整Camera的位置,适应场景 选择视野,设置为正交 添加坦克,控制坦克前后移…
http://codeforces.com/problemset/problem/175/D (题目链接) 题意 A,B两人玩坦克大战,坦克有生命值,射击间隔,伤害范围,未命中的概率.问A赢的概率是多少. Solution 直接做并不好做,注意到精度要求只有$10^{-4}$,也就是说当射击次数达到一定上限之后,满足了精度要求我们就可以不做了.我们考虑按照时间dp.怎么设计状态呢,如果$f[i][j]$表示A还剩$i$点生命值,B还剩$j$点生命值,这样复杂度太高了,我们考虑将A和B剩余生命分开…
using UnityEngine; namespace Complete { public class CameraControl : MonoBehaviour { /// <summary> /// 相机重新聚焦的时间 /// </summary> public float m_DampTime = 0.2f; /// <summary> /// /// </summary> public float m_ScreenEdgeBuffer = 4f;…