LA 5007 Detector Placement 模拟】的更多相关文章

题意: 给出一束光线(射线),和一块三角形的棱镜 以及 棱镜的折射率,问光线能否射到X轴上,射到X轴上的坐标是多少. 分析: 其实直接模拟就好了,注意到题目中说不会发生全反射,所以如果射到棱镜中的话就一定能射出来. 一开始判断一下能否经过棱镜折射,不能的话直接算和X轴有没有交点或者交点的坐标. 然后就是根据入射光线T1求入射点P1,注意直线可能和三角形的两条边都有交点,但最近的那个才是入射点. 找到入射点就求法线,算角度,利用折射公式算折射角,求出折射光线T2. 第二部分其实和上面的过程是一样的…
题意:给一束激光,一个三棱柱,三棱柱会折射光,问这束激光最终是否会和y = 0相交: 分析:模拟题,为了方便处理折射角,事先求出每条边的向内和向外的法向量: findpoint : 找第一交点 step1:  判断激光是否和三角形有规范相交: step2: 第一次折射: step3:第二次折射,可能无法折射: #include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #in…
#include<bits/stdc++.h> using namespace std; ; ; int T, n, m; char str1[maxm], str2[maxn]; int main(){ scanf("%d",&T); while(T --){ scanf("%d%d%s%s", &n, &m, str1, str2); ; i < n; i ++){ bool flag = true; ; for(int…
https://vjudge.net/problem/UVALive-3486 题意: 判断u是否是v的祖先. 思路: 很简单,dfs遍历,记录每个节点第一次访问时的时间戳 in[i] 和第二次访问时的时间戳 out[i],如果满足in[x]<in[y]<out[x],那么x就是y的祖先. 用dfs实现是很容易的事,但这题需要用栈来模拟一下. #include<iostream> #include<algorithm> #include<cstring> #…
ACM-ICPC Live Archive 一道模拟题,题意是问一个给出的多项式代入正整数得到的值是否总是整数. 这题是一道数论题,其实对于这个式子,我们只要计算1~最高次项是否都满足即可. 做的时候,模拟出了点小错误,一直wa.幸亏最后还是能找到错误的位置. 代码如下: #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <cct…
Description   Your new company is building a robot that can hold small lightweight objects. The robot will have the intelligence to determine if an object is light enough to hold. It does this by taking pictures of the object from the 6 cardinal dire…
题目:传送门. 这是一道阅读理解题,正解是DP,实际上模拟就能做.pij+1 指的是 (pij)+1不是 pi(j+1),判断能否交换输出即可. #include <iostream> #include <algorithm> #include <cstdio> #include<cstring> using namespace std; int t,n; ],str2[]; ]; int main(){ // freopen("cin.txt&q…
题目链接:https://vjudge.net/problem/UVALive-2995 这道题的主要难点在于三维坐标系的建立,然后在坐标系中进行迭代更新. 注意用宏定义来简化代码. AC代码: #include<cstdio> #include<iostream> #include<cstring> #include<cmath> #include<algorithm> #define rep(i,n) for(int i=0;i<n;i…
题目链接:https://vjudge.net/problem/UVALive-3708 这道题的思路也是比较难想. 首先根据上一题(Uva 11300)可知,要想让移动距离最短,那么至少要使一个雕塑位置不变,随便一个即可.然后以它为坐标原点,以逆时针为正方向,钦定每一个雕塑的新位置. 然后我们设$pos$,那么可得到等式: $\frac{i}{n} =\frac{pos}{n+m} <=> pos=i\times (n+m)\div n$ 然后累加移动距离: (移动距离=移动 / 总的距离)…
D. Sea Battle time limit per test: 1 second memory limit per test :256 megabytes input: standard input output: standard output Galya is playing one-dimensional Sea Battle on a 1 × n grid. In this game a ships are placed on the grid. Each of the ships…