飞步无人驾驶2018届校园招聘在线笔试A轮 register

Ended

Participants:152

Verdict:Wrong Answer
Score:90 / 100
Submitted:2018-10-06 19:44:37

Lang:G++

Edit
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
#include<bits/stdc++.h>
using namespace std;
int n;
vector<int> v,s;
int dp[1011][8];
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin>>n;
    v.resize(n+1);
    s.resize(n+1);
    for(int i=1;i<=n;i++){
        cin>>v[i];
        string tmp;
        int val=0;
        cin>>tmp;
        if(tmp.find('A')<=2)val+=4;
        if(tmp.find('B')<=2)val+=2;
        if(tmp.find('C')<=2)val+=1;
        s[i]=val;
    }
    for(int i=0;i<=n;i++)
        for(int j=1;j<8;j++)dp[i][j]=99999999;
    dp[0][0]=0;
    for(int i=1;i<=n;i++){
        for(int j=0;j<8;j++){
            dp[i][j|s[i]]=min(dp[i-1][j]+v[i],dp[i][j|s[i]]);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX