[LGR-182-Div.4] 洛谷入门赛 #22 (传送门)
A 疯狂大减价
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
if (n < 100)
cout << n;
else if (n <= 199)
cout << n - 20;
else if (n < 220)
cout << n - 50;
else cout << n - 70;
return 0;
}
B ZngivaeL 的中考
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[4];
int cnta=0, cntb=0;
cin >> a[0]>>a[1]>>a[2]>>a[3];
if (a[0] < 'D' && a[1] < 'D' && a[2] < 'D' && a[3] < 'D')
{
for (int i = 0; i < 4; i++)
{
switch (a[i]) {
case 'A':cnta++; break;
case 'B':cntb++; break;
}
}
if (cnta + cntb == 4 && cnta > 0)
cout << "I'm so happy.";
else
cout << "This is ok.";
}
else
cout << "Never give up.";
return 0;
}
C 游乐场
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main()
{
int n,cur=0,cnt=0;
cin >> n;
for (int i = 1; i <= n; i++)
scanf("%d", a + i);
for (int i = 1; i <= n; i++)
{
cur += a[i] - a[i - 1];
if (cur > 50)
cur = 50;
cnt += cur / 8;
cur %= 8;
}
cout << cnt;
return 0;
}
D 吃苹果
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main()
{
int n, maxn = (-2111111111), minn = 2111111111;
long long sum = 0;
cin >> n;
for (int i = 0; i < n; i++)
{
scanf("%d", a + i);
maxn = max(a[i], maxn);
minn = min(a[i], minn);
}
cout << ((long long)maxn) + ((long long)minn);
return 0;
}
E 天上的气球
#include<bits/stdc++.h>
using namespace std;
int h[1005][1005];
int c[1005][1005];
int main()
{
int n, m, k,x,y,ht,ct;
cin >> n >> m >> k;
for (int i = 0; i < k; i++)
{
scanf("%d%d", &x, &y);
scanf("%d", &ht);
scanf("%d", &ct);
if (ht < h[x][y] && h[x][y]!=0 || h[x][y]==0)
{
h[x][y] = ht;
c[x][y] = ct;
}
}
for(int i=1;i<=n;i++)
{
for (int j = 1; j <= m; j++)
cout << c[i][j] << ' ';
cout << endl;
}
return 0;
}
F 神秘排列
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int index[100005];
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
if (index[a[i]] != 0)
{
cout<<"NO";
return 0;
}
else {
index[a[i]] = i;
}
}
for (int i = 1; i <= n; i++)
{
if(index[a[i]]!=a[a[i]])
{
cout << "NO";
return 0;
}
}
cout << "YES";
return 0;
}
G 道法考试
#include<bits/stdc++.h>
using namespace std;
int a[1005][1005];
int uns[9005];
int main()
{
int n, m,p,t,cnt=0;
cin >> n >> m;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
cin >> a[i][j];
for (int i = 0; i < n; i++)
{
int flag = 1;
memset(uns, 0, sizeof(uns));
cin >> p;
for (int j = 0; j < p; j++)
{
scanf("%d", &t);
uns[t] = 1;
}
for (int q = 0; q < m; q++)
{
if (uns[a[i][q]] == 0)
{
flag = 0;
break;
}
}
if (flag)
cnt += 2;
}
cout << cnt;
return 0;
}
H 非众数
#include<bits/stdc++.h>
using namespace std;
int a[30];
int main()
{
string str;
cin >> str;
int len=str.length(), cnt = 0,slen;
for(int i=0;i<len-1;i++)
for (int j = i + 1; j < len; j++)
{
memset(a, 0, sizeof(a));
int maxn = 0;
slen = j - i + 1;
for (int p = i; p <= j; p++)
{
a[str[p] - 'a']++;
maxn = max(a[str[p] - 'a'], maxn);
}
if (maxn <= slen / 2)
cnt++;
}
cout << cnt;
return 0;
}