atcoderやってみたら、ランキング上位みんなC++で書いててうおおおってなったので勢いだけで試してみる
お父さんが仕事でC++使ってるから入門書が家にあったので最強
今回初めて触ったのでコードが汚いのは許してください...
A
単純な比較
#include <iostream>
using namespace std;
int main(){
int x, a = 0;
cin >> x >> a;
if (x < a) {
cout << 0;
} else if (x >= a) {
cout << 10;
}
}
B
#include <iostream>
using namespace std;
int main(){
int n = 0, x = 0;
cin >> n >> x;
int l[n+1];
for (int i = 0; i < n; i++) {
cin >> l[i];
}
int d[n+1];
d[0] = 0;
for (int i = 1; i < n+1; i++) {
d[i] = d[i-1] + l[i-1];
}
int count = 0;
for (auto j: d) {
if (j <= x) {
count++;
}
}
cout << count << endl;
}
ほんとはvectorとかいうのを使ったほうがいいらしいんだけど理解できてないの使うのは怖かったので普通の配列...
C
Cはめっちゃ時間かかった。
最初はx,yを基準に縦にきるのと横にきるのを比較して、、、とかやってた
あと、わかったあとでもdouble型にするの忘れててWAでちゃって死んでた
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
int w,h,x,y;
cin >> w >> h >> x >> y;
double res;
int res_b;
res = (double)w * (double)h / 2;
if (x * 2 == w && y*2 == h) {
res_b = 1;
} else {
res_b = 0;
}
cout << res << " " << res_b;
}
まとめ(?)
A、Bはサクサクできたけど、Cで相当詰まった。D以降に関しては問題文の意味がわからない...数学の勉強しなきゃなって思った.
でも何かを作るってモチベーションの上げ方だと作りたいもの思いつかなくてきつかったりするから、競技プログラミングはそういう意味ではすごくいいのかもなって感じ。
ただ、関数自体は意外と簡単なのでできちゃうから言語の習得ってなるとまたちょっと違うのかな