精華區beta Marginalman 關於我們 聯絡資訊
838. 推多米諾 昨天那題還沒想到怎麼寫== 今天的蠻簡單的 往左推 越推越小力 往右推 越推越小力 推完再看偏左偏右 是說views 要先include ranges才能用ㄟ 不然要ranges::views 可是他不是本來就全部都include了嗎 為什麼捏 #include <ranges> class Solution { public: string pushDominoes(string domino) { int n = domino.length(); vector<int> cnt(n, 0); for(auto [i, c]: views::enumerate(domino)){ if(c=='L'){ // -1 cnt[i] = -n; for(int j = i-1, cur = -n+1; j >= 0 and domino[j] == '.'; j--){ cnt[j] += cur++; } } if(c=='R'){ // +1 cnt[i] = n; for(int j = i+1, cur = n-1; j < n and domino[j] == '.'; j++){ cnt[j] += cur--; } } } for(int i = 0; i < n; i++){ char &c = domino[i]; if(c=='.'){ if(cnt[i] > 0) c = 'R'; if(cnt[i] < 0) c = 'L'; } } return domino; } }; -- 很姆的咪 姆之咪 http://i.imgur.com/5sw7QOj.jpg -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.205.121.194 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1746163260.A.410.html