Official
A - 答案の採点 / Grading the Answer Sheet Editorial
by
A - 答案の採点 / Grading the Answer Sheet Editorial
by
physics0523
初心者の方へ
- AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
- また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。
- C++入門 AtCoder Programming Guide for beginners (APG4b) は、競技プログラミングのための C++ 入門用コンテンツです。
- Python入門 AtCoder Programming Guide for beginners (APG4bPython) は、競技プログラミングのための Python 入門用コンテンツです。
まず、書き換えを行う前の誤答の数を数えます。これは、以下の要領で数えられます。
- \(i=1,2,\dots,N\) について、以下を繰り返す。
- もし \(S_i\) と \(T_i\) が異なるなら、誤答数に \(1\) 加算する。
この誤答数を \(wa\) とします。
- もし \(wa \le k\) であれば書き換えの必要はないので答えは \(0\) です。
- もし \(wa > k\) であれば、一度の書き換えで誤答を \(1\) つ減らすのが最善なので、答えは \(wa-k\) です。
実装例 (C++):
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k;
cin >> n >> k;
string s,t;
cin >> s >> t;
int wa=0;
for(int i=0;i<n;i++){
if(s[i]!=t[i]){wa++;}
}
cout << max(0,wa-k) << "\n";
return 0;
}
posted:
last update:
