计蒜客 防御导弹

#include <iostream>
#include <cstdio>
#include <iomanip>
#include <string>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <set>
#include <vector>
#include <map>
#include <algorithm>
#include <cmath>
#include <stack>

#define INF 0x3f3f3f3f
#define LINF 0x3f3f3f3f3f3f3f3f
#define ll long long
#define ull unsigned long long
#define uint unsigned int
#define l(x) (x<<1)
#define r(x) (x<<1|1)
#define ms(a,b) memset(a,b,sizeof(a))

using namespace std;

int n, demo[2222];
int dp[2222],temp;

int main() {
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
		scanf("%d", &demo[i]);
	ms(dp, INF);

	for (int i = 0; i < n; i++) {
		temp = i;
		for (int j = 0; j < i; j++) 
			if (demo[i] <= dp[j] && dp[j] < dp[temp]) 
				temp = j;
		if (temp == i)
			dp[i] = demo[i];
		else 
			dp[temp] = demo[i];
	}
	int ans = 0;
	for (int i = 0; i < n; i++)
		if (dp[i] != INF) ans++;
	printf("%d\n", ans);

	return 0;
}
在C++中计算导弹位移通常需要考虑物理模型、时间步长、初始条件、环境因素等多个变量。一个简单的模型可能包括导弹的初始位置、速度、加速度以及飞行时间。对于更复杂的计算,可能还需要引入空气阻力、重力、风速等环境因素的影响。 下面是一个简单的示例,说明如何在C++中进行基本的导弹位移计算: ```cpp #include <iostream> // 假设一个二维平面的运动模型 struct Position { double x; // 水平位置 double y; // 垂直位置(高度) }; // 计算导弹在给定时间后的位移 Position calculateDisplacement(double initialVelocity, double angle, double time, double gravity) { // 将角度转换为弧度 double angleInRadians = angle * M_PI / 180.0; // 计算水平和垂直方向的位移 double displacementX = initialVelocity * cos(angleInRadians) * time; double displacementY = initialVelocity * sin(angleInRadians) * time - 0.5 * gravity * time * time; // 返回计算后的位移 return {displacementX, displacementY}; } int main() { // 假设初始速度为50 m/s,发射角度为45度,飞行时间为3秒,重力加速度为9.8 m/s^2 double initialVelocity = 50.0; double angle = 45.0; double time = 3.0; double gravity = 9.8; Position displacement = calculateDisplacement(initialVelocity, angle, time, gravity); std::cout << "After " << time << " seconds, the displacement of the missile is:\n"; std::cout << "X (horizontal) : " << displacement.x << " meters\n"; std::cout << "Y (vertical) : " << displacement.y << " meters" << std::endl; return 0; } ``` 这个程序定义了一个`Position`结构体来存储位移信息,定义了一个`calculateDisplacement`函数来计算位移,并在`main`函数中调用该函数,并输出结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值