wzoi 1~200

这篇博客涵盖了从竖式计算到正整数分解的一系列算法挑战,包括计算塔高、判断分数、识别三角形、计算组合数等,旨在锻炼和提升编程者的逻辑思维和数据处理能力。
7 竖式计算
#include <bits/stdc++.h>
using namespace std;

int main() {
   
   
	int a, b;
	cin >> a >> b;
	
	printf("%10d\n", a);
	printf("   +%6d\n", b);
	printf("-----------\n");
	printf("%10d\n", a + b);

	return 0;
}
76 计算塔高
#include <bits/stdc++.h>
using namespace std;

int main() {
   
   
	double l, a, b, mn;
	const double PI = 3.1415926;
	cin >> l >> a >> b;
	a = a / 180 * PI;
	b = b / 180 * PI;
	mn = l / (1 / tan(b) - 1/tan(a));
	printf("%.3f", mn);
	
	return 0;
}
101 计算比例
#include <bits/stdc++.h>
using namespace std;

int main() {
   
   
	int a, na;
	double b;
	int nb;
	int c, nc;
	
	cin >> a >> na;
	cin >> b >> nb;
	cin >> c >> nc;
	
	double p1, p2;
	p1 = 1.0 * (na - a) / a;
	
	int f = a + nb / (1 + b) + (nc - c);
	int m = na + nb + nc - f;
	p2 = 1.0 * m / f;
	
	if (p1 >= p2) {
   
   
		printf("%.2lf", p1 - p2);
	}
	else {
   
   
		cout << "tan90";
	}
	
	return 0;
}
103 说谎
#include <bits/stdc++.h>
using namespace std;

int main() {
   
   
	int a, b, c, d;
	int a1, b1, c1, d1;
	
	cin >> a >> b >> c >> d; 
	d1 = 1;
	c1 = d1 ? d : !d;
	b1 = c1 ? c : !c;
	a1 = b1 ? b : !b;
	
	cout << a1 << ' ' << b1 << ' ' << c1 << ' ' 
### WZOI (600 to 650) 技术信息或问题 根据已知的信息,WZOI 是一个在线编程竞赛平台,提供不同难度级别的题目供参赛者解决。以下是关于该范围内可能涉及的技术内容和问题的分析。 #### 可能的技术内容 1. **动态规划优化** 动态规划问题是常见的算法挑战之一,在此区间内的题目可能涉及到状态压缩、记忆化搜索等高级技巧[^1]。例如,对于给定的状态转移方程,如何通过减少冗余计算来提高效率是一个重要方向。 2. **图论中的复杂结构处理** 图论问题通常出现在这一分数段中,比如最小生成树、网络流以及强连通分量等问题。这些问题往往需要深入理解数据结构的应用场景及其性能特点[^2]。 3. **字符串匹配与模式识别** 字符串操作也是高频考点之一,特别是在较高难度级别上。KMP算法、Manacher算法或者AC自动机可能是解题的关键工具[^4]。 #### 解决方案示例 下面给出一段针对特定条件下的伪代码实现框架: ```cpp #include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; // 输入天数n vector<int> rec(n); for(auto &x : rec){ cin>>x; //读取每天推荐类别 } // 初始化noip, shengxuan未看题目集合 set<int> noip_set, sx_set; for(int i=1;i<=N_NOIP;i++) noip_set.insert(i); for(int j=1;j<=N_SX;j++) sx_set.insert(j); long total_score =0; string action; while(cin>>action && !noip_set.empty() || !sx_set.empty()){ if(action=="READ"){ char type; cin>>type;// 'N'表示NOIP,'S'表示省选 if(type=='N'){ auto it=noip_set.begin(); int q=*it; noip_set.erase(it); if(rec[current_day]=='N')total_score+=10; else total_score +=5; } else{ auto jt=sx_set.begin(); int p=*jt; sx_set.erase(jt); if(rec[current_day]=='S')total_score+=10; else total_score +=5; } }else{ //"WRITE" //逻辑同理... } } } ``` 上述代码片段展示了基于阅读/写作行为调整得分策略的一种方法。 #### 注意事项 - 对于某些特殊边界情况要格外小心测试,确保程序鲁棒性良好。 - 时间复杂度需严格控制在允许范围内,避免因超时而导致丢分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值