数学题编程解求条
  • 板块学术版
  • 楼主linyunxiang1111
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/24 14:47
  • 上次更新2024/11/24 16:44:46
查看原帖
数学题编程解求条
1194403
linyunxiang1111楼主2024/11/24 14:47

Code(没写完):

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
const int INF = 0x3fffffff;
int main() {
	int a,b;
	cin >> a >> b;
	pair<int,int> A(0,0);
	pair<int,int> B(a,0);
	pair<int,int> C(a,b);
	pair<int,int> D(0,b);
	// 四个顶点的坐标
	pair<int,int> dp[1000](0,0);
	dp[1] = (0,0);
	// 小球坐标
	for(int i=2; i<=1000; i++) {
		int k,q;
		if(dp[i-1].first == 0) {
			k=a;
		} else if(dp[i-1].first > dp[i-2].first) {
			k = a+dp[i-1].first;
		} else if(dp[i-1].first < dp[i-2].first) {
			k = a-dp[i-1].first;
		} else {}
		if(dp[i-1].second == 0) {
			q=b;
		} else if(dp[i-1].second > dp[i-2].second) {
			q = a+dp[i-1].second;
		} else if(dp[i-1].second < dp[i-2].second) {
			q = a-dp[i-1].second;
		} else {}
		if(k < q) {
			if(dp[i-1].first > dp[i-2].first || dp[i-1].first == 0) {
				dp[i].first = a;
				dp[i].second = //*****
			} else if(dp[i-1].first < dp[i-2].first) {
				dp[i].first = 0;
			}
		}
		if(dp == A) {
			cout << "落入A" << endl;
			return 0;
		}
		if(dp == B) {
			cout << "落入B" << endl;
			return 0;
		}
		if(dp == C) {
			cout << "落入C" << endl;
			return 0;
		}
		if(dp == D) {
			cout << "落入D" << endl;
			return 0;
		}
	}
	return 0;
}

求助!!!

2024/11/24 14:47
加载中...