麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

UVA-12166 天平性質+字符處理

2019-11-14 11:51:03
字體:
來源:轉載
供稿:網友

          這題思維難度很大,關鍵是總結這個性質。

  1.天平性質:某個秤砣重量為w,高度為h,如果要讓這個天平平衡并且以這個秤砣為基準,那么整個天平的總重量為w*(2^h)

  2.利用這個性質:題目要求秤砣數量改變最少,就是說盡量多的不改變秤砣重量,把總質量作為主鍵,統計總質量相同的秤砣個數,

最后計算出數量最多的,就是不用改變質量的最大秤砣數量,用所有秤砣數減去不用改變質量的最大秤砣數量就是答案。

  3.當然,用這個性質,會讓某些秤砣的質量變為小數。

  4.注意,總重量可能會變成long long類型。

AC代碼:

#include<cstdio>#include<cstring>#include<map>using namespace std;#define max(x,y) (x) > (y) ? (x) : (y)typedef long long LL;const int maxn = 1e6 + 5;char str[maxn];map<LL, int>ha;int node; //numbers of nodevoid dfs(int l, int r, int h){    if(str[l] == '[') {        int p = 0;        for(int i = l + 1; i < r ; ++i){            if(str[i] == '[') ++p;            else if(str[i] == ']') --p;            else if(str[i] == ',' && p == 0) {                dfs(l + 1, i - 1, h + 1); //Left                dfs(i + 1, r - 1, h + 1); //Right            }        }    }    else {        ++node;        int num = 0;        while(l <= r) num = num * 10 + str[l++] - '0';        ha[(LL)num << h]++;    }}int main(){    int T;    scanf("%d", &T);    while(T--) {        node = 0;        scanf("%s", str);        int n = strlen(str);        dfs(0, n-1, 0);        int ans = 0;        for(map<LL, int>::iterator c = ha.begin(); c != ha.end(); ++c) {            ans = max(ans, c->second);        }        PRintf("%d/n",node - ans);        ha.clear();    }    return 0;}如有不當之處歡迎指出!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美一级做一a做片性视频 日韩黄色片免费看 | 成人男男视频拍拍拍在线观看 | 依依成人精品视频 | 欧美性猛交xxx乱大交3蜜桃 | 日韩在线播放第一页 | 欧美一级高清免费 | 天堂二区 | 欧美三级欧美成人高清www | 成人精品免费在线观看 | 欧美日韩高清一区二区三区 | 欧美一级性 | 羞羞视频免费观看入口 | 蜜桃一本色道久久综合亚洲精品冫 | 一级做人爱c黑人影片 | 欧美精品一区二区三区四区 | 18被视频免费观看视频 | 一区二区三区视频在线播放 | 国产激情精品一区二区三区 | 深夜激情视频 | 久久精品99国产国产精 | 亚洲第九十九页 | 国产免费观看电影网站 | 久久精品黄 | 一区二区美女视频 | 久久精品视频16 | 欧美亚洲一区二区三区四区 | 黄色视屏免费看 | 成人黄色网战 | 欧美亚洲一级 | 国产日韩精品欧美一区视频 | 精品国产91久久久久 | www成人在线观看 | 9999免费视频 | 精品无吗乱吗av国产爱色 | 羞羞视频免费观看网站 | 黄色网址免费入口 | 国产精品久久久久一区二区 | 国产毛片aaa一区二区三区视频 | 精品在线视频播放 | 爱看久久 | 精选久久 |