AtCoder Regular Contest 058
這個(gè)應(yīng)該是第一場(chǎng)有英文的atcoder吧??不過(guò)題解卻沒(méi)有英文的。。。
從前往后慢慢做。。。
C こだわり者いろはちゃん / Iroha's Obsession
數(shù)據(jù)范圍這么小,直接暴力
#include <bits/stdc++.h> using namespace std;bool rec[10];bool check(int num) {while(num){if(rec[num%10]) return false;num /= 10;}return true; }int main() {int n,k,num;cin >> n >> k;for(int i = 0; i < k; ++i){cin >> num;rec[num] = true;}while(true){if(check(n)){cout << n << endl;break;}++n;}return 0; }D - いろはちゃんとマス目 / Iroha and a Grid
在H * W的矩陣中,左下角有一個(gè)A * B的矩陣不能走,求左上角走到右下角方法數(shù)。
建議一道題: 51nod 1486 大大走格子
這題容斥原理,比上邊那個(gè)題簡(jiǎn)單。沒(méi)有障礙時(shí),總方法數(shù)是C(H+W-2,H-1)總方法數(shù)
求出來(lái)所有走過(guò)障礙處的走法, 用總的減掉就好了。
走過(guò)障礙處的方法數(shù)就是走到A*B矩陣上方一行的時(shí)候,選擇向下走,就是非法的。減掉這些就好。
E - 和風(fēng)いろはちゃん / Iroha and Haiku
沒(méi)有找到英文題解和中文題解。。。。。
這個(gè)題,感覺(jué)有點(diǎn)難。起初思路是算組合數(shù),畢竟數(shù)據(jù)范圍很小,算出1-7的拆分?jǐn)?shù)的每種情況,然后算組合數(shù)和排列唄。
算了好久,不知道哪里錯(cuò)了,看了http://imulan.hatenablog.jp/entry/2016/07/24/233524這個(gè)題解,才發(fā)現(xiàn)有地方重復(fù)計(jì)算了。
然后又看了https://kimiyuki.net/blog/2016/07/23/arc-058-e/這個(gè)題解,還有官方題解,理解的模模糊糊。
比如說(shuō)1用1表示,2用10表示,3用100表示,即i用(1<<(i-1))表示。
在這里是計(jì)算出不合法的數(shù)量,總數(shù)量-不合法數(shù)量=結(jié)果。
比如說(shuō)要的X,Y,Z是5,7,5,表示這個(gè)結(jié)果的狀態(tài)就是10000100000010000。
然后枚舉每種情況。。。
還是有點(diǎn)懵。。。路過(guò)的大佬求解答。。
感覺(jué)日語(yǔ)翻譯成英語(yǔ)比翻譯成漢語(yǔ)讀著順一點(diǎn)。。
F - 文字列大好きいろはちゃん / Iroha Loves Strings
------不會(huì)
轉(zhuǎn)載于:https://www.cnblogs.com/guoyongheng/p/7841048.html
總結(jié)
以上是生活随笔為你收集整理的AtCoder Regular Contest 058的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 结对-贪吃蛇-测试过程
- 下一篇: concat与concat_ws区别