【思維】poj 1013 Counterfeit Dollar
/*
poj 1013 Counterfeit Dollar
題意:一個案例包含三行,每行三個字串,分別代表左邊放的東西和右邊放的東西,以及結果,讓你分辨出哪個是假的。
題解:腦洞題, 如果even,那麼這兩邊東西一定是真,真的物品我用較大的數表示,這裡只有3個資料,100可以算大了。
如果up,那麼要麼左邊東西有假的偏重,要麼右邊東西有假的偏輕。我們分別附上可能為假的權值(輕-1,重+1)。
如果down,反之。
最後我們只要找是假的權值最大的那個即可。
*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 110;
int mp[N];
int main()
{
int T;
cin >> T;
while(T--)
{
memset(mp,0,sizeof(mp));
for(int i = 0; i < 3; i++)
{
string a,b,c;
cin >> a >> b >> c;
if(c == "even")
{
for(int i = 0; i < a.size(); i++)
mp[a[i]-'A'] = 100;
for(int i = 0; i < b.size(); i++)
mp[b[i]-'A'] = 100;
}
else if(c == "up")
{
for(int i = 0; i < a.size(); i++)
mp[a[i]-'A']++;
for(int i = 0; i < b.size(); i++)
mp[b[i]-'A']--;
}
else
{
for(int i = 0; i < a.size(); i++)
mp[a[i]-'A']--;
for(int i = 0; i < b.size(); i++)
mp[b[i]-'A']++;
}
}
int ans = 0;
int id;
for(int i = 0; i < 12; i++)
{
if(mp[i] < 50)
{
if(ans < abs(mp[i]))
{
ans = abs(mp[i]);
id = i;
}
}
}
printf("%c is the counterfeit coin and it is ",id+'A');
if(mp[id] < 0)
printf("light.\n");
else
printf("heavy.\n");
}
return 0;
}
相關文章
- POJ 1113 Wall(思維 計算幾何 數學)
- 思維體系---技術思維、業務資料思維、產品思維、複合思維
- POJ3268 Silver Cow Party【Dijkstra演算法+思維】演算法
- 求職思維和招聘思維求職
- 淺析工具思維、產品思維、品牌思維與定位
- 黑客思維黑客
- 思維模式模式
- 框架思維框架
- 組合思維與繼承思維的不同繼承
- 模型思維(01)模型
- 計算思維
- 《計算思維史話》思維導圖——持續更新
- 創新思維框架:第一原則思維 - Neil Kakkar框架
- 你是整體思維還是分析思維? - kentbeck
- 提升思維邏輯—SimpleMind Pro(思維導圖) for Mac/winMac
- 什麼是產品思維和專案思維? - Shreyas
- 英語思維與物件導向分析思維的關係物件
- 思維之道 --讀《質量.軟體.管理 系統思維》(2)
- 思維之道 --讀《質量.軟體.管理 系統思維》(1)
- 思維之道 --讀《質量.軟體.管理 系統思維》(3)
- ZOJ 1013 Great Equipment(DP)UI
- 前端思維導圖前端
- Java思維理清思路Java
- 結構化思維
- 原型設計思維原型
- 新思路,新思維
- 談談“模式思維”模式
- 技術思維2
- typora思維導圖
- 運維工程師思維導圖運維工程師
- 思維決定命運,從四個方面理解深度思維的概念
- TypeScript - 一種思維方式TypeScript
- 常用思維導圖工具
- 前端思維導圖 8前端
- 思維導圖軟體
- 前端開發者必備思維前端
- 思維導圖工具MindJet
- 思維交流軟體--mindmanager