srm 478 dim2 easy KiwiJuiceEasy

  • 仮引数書くのが面倒だったのでポインタにしたら余計面倒だった。
#include <sstream>
#include <string>
#include <vector>
#include <map>
#include <algorithm>
#include <iostream>
#include <utility>
#include <set>
#include <cctype>
#include <queue>
#include <stack>
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;
class KiwiJuiceEasy{
public:
  vector<int> *cap, *bot, *from, *to, *pret;

  void doit(int i){
    int moved = min((*cap)[ (*to)[i] ] - (*pret)[ (*to)[i] ],
		    (*pret)[ (*from)[i] ]);
    (*pret)[ (*to)[i] ] += moved;
    (*pret)[ (*from)[i] ] -= moved;
  }

  vector <int> thePouring(vector <int> capacities, vector <int> bottles, vector <int> fromId, vector <int> toId){
    cap = &capacities;
    bot = &bottles;
    from = &fromId;
    to = &toId;
    vector<int> ret(bottles);
    pret = &ret;

    for(int i = 0; i < (int)fromId.size(); i++){
      doit(i);
    }

    return ret;
  }


};