ABC#44
21:30から出たのが間違っていたと思う
A
適当
#include <bits/stdc++.h> using namespace std; int main() { int n,k,q,w,ans=0; cin>>n>>k>>q>>w; for(int i=0;i<n;i++) { if(i>k-1) ans+=w; else ans+=q; } cout<<ans<<endl; }
B
アルファベットテーブル作って投げようとしたけどできてない.22:00頃完成したが勿論テストケースが合わない.放棄してCへ.
#include <bits/stdc++.h> using namespace std; int main() { string s; //int x=1; //no doing int cnt=0; cin>>s; //文字テーブル char al[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; //文字数カウント int v[26]={0}; //flag bool bl[26]; //どの文字があるか調べる for(int i=0;i<s.size();i++){ for(int j=0;j<26;j++){ if(s[i]==al[i]){ v[i]+=1; } } } //v[i]%2==0ならfl+1 for(int i=0;i<26;i++) bl[i]=(v[i]%2==0)?1:0; for(int i=0;i<26;i++){ if(bl[i]!=0) cnt=1; } if(cnt==1) cout<<"Yes"<<endl; else cout<<"No"<<endl; return 0; }
一応書くと,全てYesになる.クソったれ.あと冗長.
C
理屈解るけどコード起こせないマン完成.これ理屈解ってない気がする.1<=N<=16で部分点.やめた.
#include <bits/stdc++.h> using namespace std; int main() { //入力 //summer //x=0 for(int i=0;i<x.size();i++){ if(x[i]==A) cnt++; } //x=1 for(int i=1;i<x.size();i++){ ans=x[0]; if((ans+x[i])%2==A) cnt++; } //x=2 for(int i=2;i<x.size();i++){ ans=x[0]+x[1]; if((ans+x[i])%2==A) cnt++; } //このままx=16までやる気力は無い }
紙で書いてたけどこちらも駄目.理屈はこれで合ってる気がする
D
計算書けてない.最初逆算に気が付かず,適当に書いてたけどよく読んだら逆算なのに気付く.
全体
最近全然やってないな