今天主要是学习了一下DP,三个使用前提:最优子结构、子问题重叠性、无后效性,今后重点练dp题,至少做30题加深理解
这题纯粹为了练习编码速度。
#include <iostream> #include <string> using namespace std; int main(){ int c,miles = 0; string a; char b; while(cin>>a && a[0] != '#'){ if (a[0] != '0') { cin>>a>>c>>b; switch(b){ case 'F': miles += c*2;break; case 'B': miles += c*3.0/2.0 + 0.5;break; case 'Y': if (c <= 500) { miles += 500; } else miles += c; break; } } else{ cout<<miles<<endl; miles = 0; } } return 0; }