A. Unimodal Array
水题
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <queue> #include <vector> #include <iomanip> #include <math.h> #include <map> using namespace std; #define FIN freopen("input.txt","r",stdin); #define FOUT freopen("output.txt","w",stdout); #define INFLL 0x3f3f3f3f3f3f3f #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 typedef long long LL; typedef pair<double, double> PII; const int maxn = 100 + 5; int a[maxn]; int b[maxn]; int main() { //FIN int n; cin >> n; for(int i = 1; i <= n; i++) cin >> a[i]; for(int i = 1; i <= n -1; i++) { if(a[i] - a[i + 1] > 0) b[i] = 1; else if(a[i] - a[i + 1] == 0) b[i] = 0; else if(a[i] - a[i + 1] < 0) b[i] = -1; } for(int i = 1; i <= n - 2; i++) { //cout << b[i]<<" "; if(b[i + 1] < b[i]) { cout <<"NO"<<endl; return 0; } } cout <<"YES"<<endl; return 0; }
B. Keyboard Layouts
比第一题还水...
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <queue> #include <vector> #include <iomanip> #include <math.h> #include <map> using namespace std; #define FIN freopen("input.txt","r",stdin); #define FOUT freopen("output.txt","w",stdout); #define INFLL 0x3f3f3f3f3f3f3f #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 typedef long long LL; typedef pair<double, double> PII; char s1[30]; char s2[30]; char s3[1005]; int main() { //FIN cin >> s1; cin >> s2; cin >> s3; int len = strlen(s3); for(int i = 0; i < len; i++) { int flag = 0; if(s3[i] >= ‘0‘ && s3[i] <= ‘9‘) { cout << s3[i]; continue; } if(s3[i] >= ‘A‘ && s3[i] <= ‘Z‘) { flag = 1; s3[i] += 32; } for(int j = 0; j < 26; j++) { if(s1[j] == s3[i]) { if(flag) printf("%c", s2[j] - 32); else cout << s2[j] ; break; } } } return 0; }
C. Jury Marks
这题看了题解才会做 学会了一个新操作 unique
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <queue> #include <vector> #include <iomanip> #include <math.h> #include <map> using namespace std; #define FIN freopen("input.txt","r",stdin); #define FOUT freopen("output.txt","w",stdout); #define INFLL 0x3f3f3f3f3f3f3f #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 typedef long long LL; typedef pair<double, double> PII; const int maxn = 2000 + 5; int a[maxn]; int b[maxn]; int sum[maxn]; vector<int> vec; map<int, int> mp; int main() { //FIN int n, k; scanf("%d%d", &k, &n); int x; for(int i = 1; i <= k; i++) { scanf("%d", &a[i]); sum[i] += sum[i - 1] + a[i]; } sort(sum + 1, sum + 1 + k); int len = unique(sum + 1, sum + 1 + k) - (sum + 1); for(int i = 1; i <= n; i++) { scanf("%d", &b[i]); for(int j = 1; j <= len; j++) { int tmp = b[i] - sum[j]; vec.push_back(tmp); } } sort(vec.begin(), vec.end()); for(int i = 0; i < vec.size(); i++) { mp[vec[i]]++; } int ans = 0; for(int i = 0; i < vec.size(); i++) { if(mp[vec[i]] >= n) { ans++; mp[vec[i]] = 0; } } printf("%d\n", ans); return 0; }
时间: 2024-10-13 16:19:41