#102日目
今日はc問題1問と、b問題を2問ときました
|問題|難易度|自力で解けた|かかった時間|
|:-:|:-:|:-:|---|---|
|ABC151|C|◯|28分10秒|
|CODE FESTIVAL 2016 qual B|B|◯|6分44秒|
|キーエンス プログラミング コンテスト 2019|B|◯|21分37秒|
##ABC151_C
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;
const int INF = 2e9;
int main(){
int n,m;
cin >> n >> m;
vector<bool> as(n+1,false);
vector<int> wa(n+1,0);
int acn = 0;
int wan = 0;
rep(i,m){
int a;
string b;
cin >> a >> b;
if(as[a]) continue;
if(b == "AC"){
acn++;
wan += wa[a];
as[a] = true;
}
else wa[a]++;
}
cout << acn << " " << wan << endl;
}
解くのにかかった時間:28分10秒
感想:ACなっていない問題のペナもしばらくカウントしていた
##CODE FESTIVAL 2016 qual B _B
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;
const int INF = 2e9;
int main(){
int n,a,b;
cin >> n >> a >> b;
string s;
cin >> s;
int ca = 0;
int cb = 0;
rep(i,n){
if(s[i] == 'a'){
if(ca < (a+b)){
cout << "Yes" << endl;
ca++;
}
else cout << "No" << endl;
}
else if(s[i] == 'b'){
if(ca < (a+b) && cb < b){
cout << "Yes" << endl;
ca++;
cb++;
}
else cout << "No" << endl;
}
else cout << "No" << endl;
}
}
解くのにかかった時間:6分44秒
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;
const int INF = 2e9;
int main(){
string s;
cin >> s;
string r = "keyence";
int n = s.size();
rep(i,(n + (7-n) - 1)){
string rs = s.substr(0,i+1) + s.substr(i+1 - (7-n));
if(rs == r){
cout << "YES" << endl;
return 0;
}
}
cout << "NO" << endl;
}
解くのにかかった時間:21分37秒
感想:(7-n)が正数であると勘違いしてしばらくエラーをはいていた。
###最後に
間違えたあとの修正にすごい時間をとってしまうのでいかにどこで間違えたのかを素早く発見していくことと、その修正を素早く実装していくことが課題になっていきそう