第一次srm总结 (srm478)
白天弄了好久,下jdk,装插件,调试,熟悉代码风格,总算在19:00之前结束,今天比赛开始很早的说。
开始比赛后,先开250,水题,但由于对环境不熟悉(至今仍不知道如何调试程序),所以第一题写了很久,一遍参考别人的样例一边写的,浪费的好多时间,快40分钟才交,不过,好歹最后过了,130分,哈哈。
500其实也不难,由于对stl不熟悉,书又丢在学校,不知道是不是用set,还好最后确实是set,不过set的用法没有掌握,当做vector用了,编译时闹了一堆笑话,最后虽然编译通过,但是样例超时,没交,时间也到了,1000就没看啦。
贴上250代码:
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
class KiwiJuiceEasy{
public:
vector <int> thePouring(vector <int> capacities, vector <int> bottles, vector <int> fromId, vector <int> toId)
{
int m=fromId.size();
int vfrom,vto,idfrom,idto,sizefrom,sizeto;
int mini;
for(int i=0; i<m; i++)
{
idfrom=fromId[i];
idto=toId[i];
sizefrom=capacities[idfrom];
sizeto=capacities[idto];
vfrom=bottles[idfrom];
vto=bottles[idto];
mini=min(vfrom,sizeto-vto);
bottles[idfrom]=bottles[idfrom]-mini;
bottles[idto]=bottles[idto]+mini;
}
return bottles;
}
};
看了别人的代码发现都很短,我的用了过多的中间变量。
总结:第一次,太谨慎了,而且对stl不熟悉,而且比赛开始时还有些紧张。
最后感谢罗伟涛&张珂,中途问了他们好几个小问题呢!