两道题

168 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第24天,点击查看活动详情

[传智杯 #4 初赛] 竞争得分

题目描述

为了鼓励大家写出更好的作业,花栗鼠科技大学(Hualishu University of Science and Technology, HUST)的组原实验采用了竞争得分的方式。

具体来说,假设有 nn 个人提交了作业,并且其中原始得分最低的人记作 amina_{min} ,原始得分最高的人记作 amaxa_{max},第 ii 个人的原始得分为 aia_i,那么第 ii 个人的得分就是: 100×aiaminamaxamin100 \times \frac{a_i-a_{min}}{a_{max}-a_{min}}

由于成绩系统的问题,最终录入的成绩只能是整数,采用直接去掉小数部分的方法

输入格式

第一行一个整数 nn 表示人数。(1n10001 \leq n \leq 1000

第二行共nn 个整数,为序列 aa ,其中 aia_i 表示第 ii 个人的原始作业得分。(1ai10001 \leq a_i \leq 1000

输出格式

一行,共 nn 个整数,表示经过更新后每个人的得分。

样例 #1

样例输入 #1

3
1 2 3

样例输出 #1

0 50 100

分析

模拟题,按照公式搞一搞

代码

#include <iostream>
#include <string> 
#include <queue>
#include <vector>
#include <map>
#include <set>
#include <cstring>
#include <stack> 
#include <cmath>
#include <algorithm>
using namespace std;
int a[10010];
signed main(){
	int n;
	cin>>n;
	int maxn=0,minn=10010;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		maxn=max(maxn,a[i]);
		minn=min(minn,a[i]);
	}
	if(maxn==minn){
		for(int i=1;i<=n;i++){
			cout<<0<<" ";
		}
	}
	else{
		for(int i=1;i<=n;i++){
			cout<<100*(a[i]-minn)/(maxn-minn)<<" ";
		}
	}
}

[蓝桥杯 2021 国 BC] 大写

题目描述

给定一个只包含大写字母和小写字母的字符串,请将其中所有的小写字母转换成大写字母后将字符串输出。

输入格式

输入一行包含一个字符串。

输出格式

输出转换成大写后的字符串。

样例 #1

样例输入 #1

LanQiao

样例输出 #1

LANQIAO

提示

对于所有评测用例, 字符串的长度不超过 100 。

蓝桥杯 2021 国赛 B 组 E 题(C 组 E 题)。

分析

语法问题

代码

//Awwawa! Dis cold yis ratten buy Pikachu!
#include <bits/stdc++.h>
#define ll long long
#define mp make_pair
#define fi first
#define se second
#define pb push_back
#define vi vector<int>
#define pi pair<int, int>
#define mod 998244353
using namespace std;
const int N=5e6+10;
int a[N];
bool st[N];
inline int read(){//快读 
	int x=0,f=1;char ch=getchar();
	while(ch<'0' || ch>'9'){
		if(ch=='-') f=-1;
		ch=getchar();
	}
	while(ch>='0' && ch<='9'){
		x=x*10+ch-'0'; 
		ch=getchar();
	}
	return x*f;
}
int main(){
	string s;
	cin>>s;
	//cout<<int('a')-int('A');
	for(int i=0;i<s.size();i++){
		if(s[i]>='a' && s[i]<='z'){
			s[i]-=32;
		}
		cout<<s[i];
	} 
	return (0-0);
}