日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Educational Codeforces Round 25

發(fā)布時間:2025/4/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Educational Codeforces Round 25 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這一場是暑期的第一場,做了4個題,被HACK兩個,都是很粗心的錯誤,手生的問題。

【A】Binary Protocol

題意:給你一串字符串,只有0和1。用m個0將字符串分為m+1段,每段字符串中‘1’的個數(shù)代表一個數(shù)。

做法:在末尾補(bǔ)0.然后掃一遍。遇到1累加,遇到0輸出累加值。

注意:

1001有兩個連續(xù)的0,兩個0之間有0個1,所以輸出0,結(jié)果101.

1110末尾為0,0的后面有0個1,所以也要輸出0,結(jié)果30.

代碼:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include?<bits/stdc++.h> using?namespace?std; int?main()?{ ????string?s; ????int?len; ????while(cin?>>?len?>>?s)?{ ????????s?=?s?+?'0'; ????????int?tp?=?0; ????????for(int?i?=?0;?i?<?len+1;?i++)?{ ????????????if(s[i]?==?'1')?tp++; ????????????else?{ ????????????????cout?<<?tp; ????????????????tp?=?0; ????????????} ????????} ????????cout?<<?endl; ????} }

?

【B】Five-In-a-Row

題意: 五子棋,下一步是X,問能否勝利。

做法:完全暴力,枚舉X的位置,然后check一下能否構(gòu)成5個子。

PS:傻逼的忘了判斷正斜線,被HACK了,五子棋白下了。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 #include?<bits/stdc++.h> using?namespace?std; char?mp[20][20]; bool?check(int?x,?int?y){ ????? ????//列 ????int?tp?=?1; ????for(int?i?=?x?+?1;?i?<?10;?i++)?{ ????????if(mp[i][y]?==?'X')?tp++; ????????else?break; ????} ????for(int?i?=?x?-?1;?i?>=?0;?i--)?{ ????????if(mp[i][y]?==?'X')?tp++; ????????else?break; ????} ????if(tp?>=?5)?return?true; ????? ????//行 ????tp?=?1; ????for(int?j?=?y?+?1;?j?<?10;?j++)?{ ????????if(mp[x][j]?==?'X')?tp++; ????????else?break; ????} ????for(int?j?=?y?-?1;?j?>=?0;?j--)?{ ????????if(mp[x][j]?==?'X')?tp++; ????????else?break; ????} ????if(tp?>=?5)?return?true; ????? ????//負(fù)斜線 ????int?a?=?x,?b?=?y; ????tp?=?1; ????while(x?>=0?&&?y?>=?0)?{ ????????x--;?y--; ????????if(x?>=0?&&?y?>=?0?&&?mp[x][y]?==?'X')?tp++; ????????else?break; ????} ????x?=?a,?y?=?b; ????while(x?<?10?&&?y?<?10)?{ ????????x++;?y++; ????????if(x?<?10?&&?y?<?10?&&?mp[x][y]?==?'X')?tp++; ????????else?break; ????} ????if(tp?>=?5)?return?true; ????? ????//正斜線 ????x?=?a,?y?=?b; ????tp?=?1; ????while(x?>=?0?&&?y?>=?0?&&?x?<?10?&&?y?<?10)?{ ????????x--; ????????y++; ????????if(x?>=?0?&&?y?>=?0?&&?x?<?10?&&?y?<?10?&&?mp[x][y]?==?'X')?tp++; ????????else?break; ????} ????x?=?a,?y?=?b; ????while(x?>=?0?&&?y?>=?0?&&?x?<?10?&&?y?<?10)?{ ????????x++; ????????y--; ????????if(x?>=?0?&&?y?>=?0?&&?x?<?10?&&?y?<?10?&&?mp[x][y]?==?'X')?tp++; ????????else?break; ????} ????if(tp?>=?5)?return?true; ????return?false; } int?main()?{ ????for(int?i?=?0;?i?<?10;?i++)?{ ????????scanf("%s",?&mp[i]); ????} //????枚舉X的位置 ????for(int?i?=?0;?i?<?10;?i++)?{ ????????for(int?j?=?0;?j?<?10;?j++)?{ ????????????if(mp[i][j]?==?'.')?{ ????????????????mp[i][j]?=?'X'; ????????????????if(?check(i,?j)?)?{ ????????????????????puts("YES"); ????????????????????return?0; ????????????????} ????????????????mp[i][j]?=?'.'; ????????????} ????????} ????} ????puts("NO"); }

【C】Multi-judge Solving

題意:做題。每個題有難度等級。給定Makes目前做過最難題的等級D,只要題的難度A <= 2D,那么Makes就可以做。不然Makes就要從別的OJ做任意可做難度的題。問至少需要在別的OJ做多少題。

做法:貪心。按題目難度從小到大排序。如果當(dāng)前題可以做,那么就更新D;不能做就去別的OJ做一道能做的最難的題,也就是2D的難度,更新D = 2D。

代碼:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #include?<bits/stdc++.h> #define?LL?long?long using?namespace?std; int?main()?{ ????int?n; ????LL?k; ????LL?a[1010]; ????scanf("%d%I64d",?&n,?&k); ????for(int?i?=?0;?i?<?n;?i++)?scanf("%I64d",?&a[i]); ????sort(a,?a?+?n); ????LL?ans?=?0; ????for(int?i?=?0;?i?<?n;?i++)?{ ????????LL?tp?=?a[i]?+?1?>>?1; ????????if(k?>=?tp)?{ ????????????k?=?max(k,?a[i]); ????????}?else?{ ????????????while(k?<?tp)?{ ????????????????k?=?2?*?k; ????????????????ans?++; ????????????} ????????????k?=?max(k,?a[i]); ????????} ????} ????cout?<<?ans?<<?endl; }

【D】?Suitable Replacement

題意:給定2個字符串。A字符串的?可以是任意小寫字母。讓你補(bǔ)齊?,任意調(diào)整順序,使得A字符串包含最多個B字符串 。

做法:模擬構(gòu)造。先計算第B字符串對每個字母的消耗量,例如aabbc,則consum['a'] = 2, consum['b'] = 2, consum['c'] = 1。

  累計A字符串各個字符的個數(shù)。計算A字符串可以減去多少 “波“B字符串 ,不夠用‘?‘來代替,直至’?‘不夠用。輸出構(gòu)造結(jié)果,剩余的’?‘隨便用一個字母補(bǔ)齊。

代碼:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 #include?<bits/stdc++.h> using?namespace?std; int?node[200];?//A字符串中各個字符的個數(shù) int?main()?{ ????string?s,?t; ????memset(node,?0,?sizeof(node)); ????cin?>>?s?>>?t; ????//判斷是否存在? ????bool?f?=?true; ????for(int?i?=?0;?i?<?s.size();?i++)?{ ????????if(s[i]?==?'?')?f?=?false; ????} ????if(f)?{ ????????cout?<<?s?<<?endl; ????????return?0; ????} ????? ????map<char,?int>mp;?//B字符串各個字符的個數(shù) ????vector<char>vec;?//存B字符串的N個字符 ????for(int?i?=?0;?i?<?t.size();?i++)?{ ????????mp[t[i]]++; ????????if(mp[t[i]]?==?1)?vec.push_back(t[i]); ????} ????int?len?=?0;?//問號個數(shù) ????for(int?i?=?0;?i?<?s.size();?i++)?{ ????????if(s[i]?==?'?')?len++; ????????else?if(mp[s[i]])?{ ????????????node[s[i]]++; ????????} ????} ????vector<char>ans; ????while(len?>?0)?{ ????????for(int?i?=?0;?i?<?vec.size();?i++)?{ ????????????node[vec[i]]?-=?mp[vec[i]]; ????????????if(node[vec[i]]?<?0)?{ ????????????????len?+=?node[vec[i]]; ????????????????if(len?<?0)?break; ????????????????int?n?=?-node[vec[i]]; ????????????????while(n--)?ans.push_back(vec[i]); ????????????????node[vec[i]]?=?0; ????????????} ????????} ????} ????int?idx?=?0; ????for(int?i?=?0;?i?<?s.size();?i++)?{ ????????if(s[i]?==?'?')?{ ????????????if(idx?<?ans.size())?{ ????????????????s[i]?=?ans[idx]; ????????????????idx++; ????????????}?else?{ ????????????????s[i]?=?'a'; ????????????} ????????} ????} ????cout?<<?s?<<?endl; }

【E】Minimal Labels

題意:給定你一個不一定聯(lián)通的無環(huán)有向圖,讓你構(gòu)造一個序列ans[]。定義:u -> v, 那么 ans[u] < ans[v]。并且要求構(gòu)造出來的序列的字典序最小。

做法:因?yàn)闊o環(huán),所以一定存在出度為0的點(diǎn),且出度為0的點(diǎn)構(gòu)造的值一定是最大的,不難看出,如果是連通圖,那么結(jié)果是一定的。如果是非連通圖,那就存在優(yōu)先問題,為了讓字典序最小,我們肯定是先給點(diǎn)小的點(diǎn)賦大值。

因此,用set來存出度為0的點(diǎn),每次彈出一個最小的點(diǎn),賦最大值,刪除指向它的邊,同時更新出度為0的點(diǎn)。

代碼:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #include?<bits/stdc++.h> using?namespace?std; vector<int>in[100010]; vector<int>out[100010]; int?main?()?{ ????int?n,?m,?v,?u; ????scanf("%d%d",?&n,?&m); ????set<int,?greater<int>?>st;?//從小到大彈出 ????for(int?i?=?1;?i?<=?n;?i++)?st.insert(i); ????for(int?i?=?0;?i?<?m;?i++)?{ ????????scanf("%d%d",?&v,?&u); ????????in[u].push_back(v); ????????out[v].push_back(u); ????????st.erase(v); ????} ????int?ans[100010]; ????int?idx?=?n; ????while(!st.empty())?{ ????????int?cur?=?*st.begin(); ????????st.erase(st.begin()); ????????ans[cur]?=?idx--;?//賦最大值 ????????//刪除指向它的邊,同時更新出度為0的點(diǎn) ????????for(int?i?=?0;?i?<?in[cur].size();?i++)?{ ????????????int?x?=?in[cur][i]; ????????????out[x].erase(find(out[x].begin(),?out[x].end(),?cur)); ????????????if(out[x].empty())?st.insert(x); ????????} ????} ????bool?f?=?false; ????for(int?i?=?1;?i?<=?n;?i++)?{ ????????if(f)?putchar('?');?f?=?true; ????????printf("%d",?ans[i]); ????} ????puts(""); }

轉(zhuǎn)載于:https://www.cnblogs.com/bestwzh/p/7223843.html

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的Educational Codeforces Round 25的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天狠天天透 | 午夜精品久久久久久久久久久 | 肉色超薄丝袜脚交一区二区图片 | 国产suv精品一区二区69 | 一二区在线视频 | 国语对白对话在线观看 | 娇妻被老王脔到高潮失禁视频 | 国产婷婷色一区二区在线观看 | 欧美一性一交 | 99精品视频在线 | 亚洲性少妇 | 成人在线h| 中文字幕.com | 96av视频 | 日本视频免费在线播放 | 一区二区高清在线 | 台湾佬在线 | 高清一区二区三区四区五区 | 久久婷婷五月国产色综合激情 | 男人深夜影院 | 欧美三级久久 | 蜜桃成熟时李丽珍在线观看 | 亚洲va久久久噜噜噜无码久久 | 国产欧美日韩精品区一区二污污污 | 操干网| 久久一区二区精品 | 五月天激情社区 | 亚洲爆乳无码一区二区三区 | 亚洲91在线 | 小毛片网站 | 欧美精品网 | 伊人久久久久久久久久久久久 | 日日干视频 | 精品视频在线观看 | 色天天综合网 | 欧美特级a| 国产sm调教一区二区 | 中文字幕av播放 | 亚洲国产欧美日韩 | 欧美精品一区在线观看 | 亚洲理论视频 | 毛片黄片免费看 | 91九色高潮 | 黄色免费视频网站 | 午夜插插 | 人碰人操 | 亚洲最新av| 免费网站在线观看视频 | 日批网址 | 少妇高潮一区二区三区99小说 | 日本熟妇色xxxxx日本免费看 | 欧美在线观看视频 | 四虎最新网址在线观看 | 国产香蕉97碰碰碰视频在线观看 | 欧美一区二区免费电影 | 欧美综合在线一区 | 亚洲欧美日本另类 | 噜噜噜在线视频 | 国产日韩欧美视频 | 久久香焦| 无码一区二区三区视频 | 色婷婷天堂| 妞干网精品 | 黄色香蕉视频 | 久久亚洲电影 | 国产99色 | 小蝌蚪av| 天堂av2024| 处破痛哭a√18成年片免费 | 午夜影音 | 成人羞羞国产免费游戏 | 亚洲麻豆一区二区三区 | 国产视频123区 | av观看国产| 羞羞羞网站 | 日韩欧美中文在线观看 | 免费在线观看av网站 | 国内三级在线 | 国产视频精品在线 | 夫妻性生活黄色大片 | 成年人网站免费在线观看 | 黄色网战在线观看 | 欧美成人一二区 | 亚洲一区二区小说 | 亚洲精品久久久蜜桃 | 青青草视频偷拍 | 亚洲福利电影网 | 蜜桃一二三区 | 国产一卡二卡在线 | 国产靠逼视频 | 日韩 欧美 亚洲 国产 | 在线免费看av网站 | 国产伦精品一区二区 | h视频在线观看网站 | 高潮流白浆在线观看 | 天堂伊人 | 性网站在线观看 | 在线视频h | 伊人久久亚洲综合 |