蓝桥杯 BASIC 24 龟兔赛跑预測(模拟)

【思路】:模拟。注意一个是在兔子歇息的时间乌龟可能到达了。刚開始没考虑WA80%。

【AC代码】:

#include <iostream>
#include <algorithm>
#include <iomanip>
#include <cstdio>
#include <cstring>
using namespace std;

int main()
{
	//freopen("in.txt", "r", stdin);
	//freopen("out.txt", "w", stdout);
	int v1 = 0, v2 = 0, t = 0, s = 0, l = 0;
	int len_t = 0, len_r = 0, cnt = 0, i = 0;
	cin >> v1 >> v2 >> t >> s >> l;
	while (true)
	{
		cnt++;
		len_r += v1;
		len_t += v2;
		if (len_r == len_t && len_t == l)
		{
			cout << "D" << endl << cnt;
			return 0;
		}
		else if (len_t == l)
		{
			cout << "T" << endl << cnt;
			return 0;
		}
		else if (len_r == l)
		{
			cout << "R" << endl << cnt;
			return 0;
		}

		if (len_r - len_t >= t)
		{
			//cnt += s;
			//len_t += v2*s;
			for (i = 1; i <= s; i++)
			{
				cnt++;
				len_t += v2;
				if (len_r == len_t && len_t == l)
				{
					cout << "D" << endl << cnt;
					return 0;
				}
				else if (len_t == l)
				{
					cout << "T" << endl << cnt;
					return 0;
				}
				else if (len_r == l)
				{
					cout << "R" << endl << cnt;
					return 0;
				}
			}
		}
	}
}
时间: 03-07

蓝桥杯 BASIC 24 龟兔赛跑预測(模拟)的相关文章

蓝桥杯 BASIC 24 龟兔赛跑预测(模拟)

[思路]:模拟.注意一个是在兔子休息的时间乌龟可能到达了.刚开始没考虑WA80%. [AC代码]: #include <iostream> #include <algorithm> #include <iomanip> #include <cstdio> #include <cstring> using namespace std; int main() { //freopen("in.txt", "r",

蓝桥杯 兰顿蚂蚁 (DFS+模拟)

[题目描述] 历届试题 兰顿蚂蚁 时间限制:1.0s   内存限制:256.0MB 问题描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其中一格正方形内有一只"蚂蚁". 蚂蚁的头部朝向为:上下左右其中一方. 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格: 若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格. 规则虽然简单,蚂蚁的行为却十分复杂.刚刚开始时留下的路线都会有接近对称

蓝桥杯 BASIC 22 FJ的字符串(递归、字符串)

[思路]:递归的使用. [AC代码]: #include <iostream> #include <algorithm> #include <iomanip> #include <cstdio> #include <cstring> using namespace std; void fj(int n) { if (1 == n) { cout << char('A'-1+n); } else { fj(n-1); cout <

蓝桥杯 BASIC 27 矩阵乘法(矩阵、二维数组)

[思路]:注意0次幂是单位矩阵. [AC代码]: #include <iostream> #include <algorithm> #include <iomanip> #include <cstdio> #include <cstring> using namespace std; #define MAX 30+2 void cal(int m[MAX][MAX], int t[MAX][MAX], int r[MAX][MAX], int N

蓝桥杯 BASIC 16 分解质因数(数学)

[思路]:先打表,后循环. [AC代码]: #include <iostream> #include <algorithm> #include <iomanip> #include <cstdio> #include <cmath> using namespace std; #define MAX 10000 int prime_list[MAX], cnt = 0; int isPrime(int n) { int i = 0; for (i

蓝桥杯 BASIC 30 阶乘计算(大数)

[思路]:大数基本都是这思路,采用数组或者字符串,每个数采用倒序的方式从头开始存储.每次进位进到下一位上. [AC代码]:两个数组来回颠倒. #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <cmath> #include <iomanip> using namespace std; #define MAX 3

蓝桥杯 BASIC 30 高精度加法(大数)

[思路]:大数处理都一样. [AC代码]:代码细节可以美化一下. #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <cmath> #include <iomanip> using namespace std; #define MAX 100+10 int main() { //freopen("in.

蓝桥杯 历届试题 分糖果 (模拟)

历届试题 分糖果 时间限制:1.0s   内存限制:256.0MB 问题描述 有n个小朋友围坐成一圈.老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子. 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数. 反复进行这个游戏,直到所有小朋友的糖果数都相同为止. 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果. 输入格式 程序首先读入一个整数N(2<N<100),表示小朋友的人数. 接着是一行用空格分开的N个偶数(

蓝桥杯 BASIC 28 Huffuman树(STL_Vector)

[思路]:利用vector的动态特性和相关操作很容易实现.可以算第一次真正用STL做题,算开始了我的STL之旅吧. [AC代码]: #include <iostream> #include <algorithm> #include <cstdio> #include <vector> using namespace std; #define MAX 100+10 bool Comp(const int &a,const int &b) { r