2017CCPC秦皇岛 C题Crusaders Quest&&ZOJ3983【模拟+STL】
2017-11-01 20:56
369 查看
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3983
题意:
给定9个血槽,有三种物品,每次可以把连续相同的物品抵消掉,但是只有把连续三个的物品抵消才有价值,问你用哪种方案,能够使获得的价值最大。
思路:
暴力就行,总有6种方案,维护一个最大值即可。
代码:
题意:
给定9个血槽,有三种物品,每次可以把连续相同的物品抵消掉,但是只有把连续三个的物品抵消才有价值,问你用哪种方案,能够使获得的价值最大。
思路:
暴力就行,总有6种方案,维护一个最大值即可。
代码:
#include <iostream> #include <map> #include <vector> #include <cstring> using namespace std; vector<char>ss; bool vis[5]; vector<int>qq; int ans=0; map<int,char>mp; void dfs(int u) { if(qq.size()==3) { int sum=0; vector<char>s; for(int i=0;i<ss.size();i++) { s.push_back(ss[i]); } for(int i=0;i<qq.size();i++) { for(int j=0;j<s.size();j++) { if(j+2<s.size()) { if(s[j]==s[j+1]&&s[j+1]==s[j+2]&&s[j]==mp[qq[i]]) { sum++; } } } int kk=3; while(kk--) { for(int j=0;j<s.size();j++) { if(s[j]==mp[qq[i]]) { s.erase(s.begin()+j); break; } } } } ans=max(ans,sum); return ; } for(int i=0;i<=2;i++) { if(!vis[i]) { vis[i]=true; qq.push_back(i); dfs(i); qq.pop_back(); vis[i]=false; } } } int main() { int t; char s1; mp[0]='g'; mp[1]='o'; mp[2]='a'; cin>>t; while(t--) { ss.clear(); for(int i=1;i<=9;i++) { cin>>s1; ss.push_back(s1); } ans=0; vector<char>w(ss.begin(),ss.end()); int sum3=0; for(int i=0;i<w.size();i++) { if(i+2<w.size()&&w[i]==w[i+1]&&w[i+1]==w[i+2]) { sum3++; } } ans=sum3; for(int i=0;i<=2;i++) { memset(vis,false,sizeof(vis)); vis[i]=true; qq.clear(); qq.push_back(i); dfs(i); } cout<<ans<<endl; } return 0; }
相关文章推荐
- zoj&2017CCPC秦皇岛站C-蛮力&erase细节&STL-Crusaders Quest
- (ccpc秦皇岛站)Crusaders Quest(暴力模拟)
- ZOJ Crusaders Quest (2017CCPC秦皇岛赛区)
- 2017CCPC秦皇岛 L题One-Dimensional Maze&&ZOJ3992【模拟】
- 2017CCPC秦皇岛 E题String of CCPC&&ZOJ3985【模拟】
- 2017CCPC秦皇岛 M题Safest Buildings&&ZOJ3993【复杂模拟】
- 2017CCPC秦皇岛 A题Balloon Robot&&ZOJ3981【模拟】
- hdu6168-多校9&stl&模拟- Numbers
- ZOJ 3983 && 2017CCPC秦皇岛 C:Crusaders Quest
- ZOJ 3987 && 2017CCPC秦皇岛 G:Numbers(高精度+贪心)
- ZOJ 3992 && 2017CCPC秦皇岛 L:One-Dimensional Maze
- URAL 1290. Sabotage(STL & 模拟啊)
- UVaLive 6581 && Gym 100299B What does the fox say? (模拟+STL)
- ZOJ 3988 && 2017CCPC秦皇岛 H:Prime Set(二分匹配)
- 127 - "Accordian" Patience C++中栈,STL的模拟
- 2017 ccpc 秦皇岛C Crusaders Quest
- ZOJ 3981 && 2017CCPC秦皇岛 A:Balloon Robot
- ZOJ 3993 && 2017CCPC秦皇岛 M:Safest Buildings
- ZOJ 3981 && 2017CCPC秦皇岛 A:Balloon Robot
- ZOJ 3988 && 2017CCPC秦皇岛 H:Prime Set(二分匹配)