2019-12-01から1ヶ月間の記事一覧

codefestival final C Time Gap

問題 コード (2WA間違いコード) int N; int pot(int a,int b){ return ((a*b)?max(abs(a-b),abs(24 - a - b)):max(a,b)); } int main(){ //cout.precision(10); cin.tie(0); ios::sync_with_stdio(false); cin >> N; vector<int> d(N+1,0); vector<int> ct(13); //カウ</int></int>…

チャンネル内の一人をランダムに選ぶslackbotを作った。

仕様 誰かがそのbotをメンションすると、そのチャンネル内のメンバーから一人を選んでメンションを飛ばす。 コード

ABC 088 D - Grid Repainting

問題 atcoder.jp コード typedef pair<int,int> pii; int main(){ //cout.precision(10); cin.tie(0); ios::sync_with_stdio(false); int H,W; cin >> H >> W; char s[100][100]; vector<vector<int>> dist(H,vector<int>(W,-1)); int ct = 0; rep(i,H)rep(j,W){ cin >> s[i][j]; if(s[</int></vector<int></int,int>…

ABC016 C - 友達の友達

問題 atcoder.jp コード using Graph = vector<vector<int>>; Graph G; vector<int> ct; vector<bool> seen; void dfs(int pre, int c, int p,int d){ //pre:スタート, c:探索ノード, p:親, d:深さ if(d == 2){ for(auto i:G[c]){ if(i == pre) return; } if(seen[c]){ ct[pre]++; s</bool></int></vector<int>…

diverta 2019 Programming Contest 2 B - Picking Up

問題 atcoder.jp コード int main(){ //cout.precision(10); cin.tie(0); ios::sync_with_stdio(false); int N;cin >> N; vector<pair<ll,ll>> x(N); rep(i,N) cin >> x[i].first >> x[i].second; sort(ALL(x)); pair<ll,ll> a[100][100]; map<pair<ll,ll>,ll> mp; rep(i,N){ for(int j = i </pair<ll,ll></ll,ll></pair<ll,ll>…

ABC037 C - 総和

問題 atcoder.jp コード ll N,K; ll func(ll l,ll r){ if(l >= K - 1 && r >= K - 1)return K; chmin(l,K-1);chmin(r,K-1); return max((ll)0,l + r - K + 2); } int main(){ //cout.precision(10); cin.tie(0); ios::sync_with_stdio(false); cin >> N >> K…

ARC067 C -Factors of Factorial

問題 atcoder.jp コード int N; map<int,int> prime_factor(int64_t n) { map<int,int> ret; for(int64_t i = 2; i * i <= n; i++) { while(n % i == 0) { ret[i]++; n /= i; } } if(n != 1) ret[n] = 1; return ret; } int main(){ //cout.precision(10); cin.tie(0); ios::sy</int,int></int,int>…

ABC011 C - 123引き算

問題 atcoder.jp コード int N; int a,b,c; int main(){ //cout.precision(10); cin.tie(0); ios::sync_with_stdio(false); cin >> N; cin >> a >> b >> c; int dp[310]; memset(dp,110,sizeof(dp)); dp[0] = 0; REP(i,N){ if(i != a && i != b && i != c){ …

ABC138 D - Ki

問題 atcoder.jp コード vector<vector<int>> G; vector<int> score; vector<bool> seen; void dfs(int v,int point){ if(!seen[v]){ seen[v] = true; score[v] += point; for(int next_v:G[v]){ dfs(next_v,score[v]); } } } int main(){ //cout.precision(10); cin.tie(0); ios::s</bool></int></vector<int>…

ABC079 D - Wall

問題 atcoder.jp コード int main(){ //cout.precision(10); cin.tie(0); ios::sync_with_stdio(false); int H,W; cin >> H >> W; int G[10][10]; rep(i,10)rep(j,10) cin >> G[i][j]; int V = 10; //ワーシャルフロイド法 for (int k = 0; k < V; k++) { fo…

ABC026 C - 高橋君の給料

問題 atcoder.jp コード vector<vector<int>> b; int solve(int x){ int cost; vector<int> y; if(sz(b[x])){ for(int i: b[x]){ y.PB(solve(i)); } auto itr_max = max_element(ALL(y)); auto itr_min = min_element(ALL(y)); return cost = *itr_max + *itr_min + 1; }else{</int></vector<int>…

ABC027 B - 島と橋

問題 atcoder.jp コード int main(){ //cout.precision(10); cin.tie(0); ios::sync_with_stdio(false); int N; cin >> N; vector<int> a(N); rep(i,N) cin >> a[i]; int sum = accumulate(ALL(a),0); if(sum % N){ cout << -1 << endl; return 0; } int ave = su</int>…

ABC084 C - Spetial Trains

問題 atcoder.jp コード #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<long long> VLL; typedef vector<pair<int,int>> VP; #define INF (int)(1e9) #define MAXX 1.1529215e+18 #define inf 999999 #define EPS (1e-7) #define rep(i,n) for(int i=0; i<(in</pair<int,int></long></bits/stdc++.h>…

ABC146D - Coloring Edges on Tree

問題 atcoder.jp コード struct Edge{ int to,index; }; vector<bool> seen; vector<int> parent; vector<int> vert; vector<vector<Edge>> G; void dfs(int v,int p,int num,int index){ vert[index] = num; int tmp = 1; for(auto next_e:G[v]){ if(tmp == num) tmp++; dfs(next_e.to,v,</vector<edge></int></int></bool>…

ARC097C Kth-Substring

問題 atcoder.jp コード int main(){ //cout.precision(10); cin.tie(0); ios::sync_with_stdio(false); string s; int K; cin >> s >> K; int N = s.size(); vector<vector<int> > a(26); rep(i,N){ a[s[i]-'a'].PB(i); } vector<string> S,ans; rep(i,26){ if(!a[i].empty()){ </string></vector<int>…