Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.ArrayList;
- public class BabblingBrooks{
- //between 1 and 100 streams, each with an individual flow
- //streams may join up or split
- public static void main(String []args){
- ArrayList<Integer> streams= new ArrayList<Integer>();
- Scanner s= new Scanner(System.in);
- int initialNum= s.nextInt();
- for(int i=0; i< initialNum; i++){
- streams.add(s.nextInt());
- }
- while(true){
- int streamNum= streams.size();
- int decide= s.nextInt();
- if(decide==77)//finished
- break;
- else if(decide==99){//split a stream
- int splitNum=s.nextInt();
- int leftPercent=s.nextInt();
- int originalFlow=streams.get(splitNum-1);
- streams.set(splitNum-1,(int) (originalFlow* leftPercent/100));
- streams.add(streams.get(streamNum-1));
- for(int i=streamNum-2; i>=splitNum; i--)
- {
- streams.set(i+1,streams.get(i));
- }
- streams.set(splitNum,(int)(originalFlow*(100-leftPercent)/100));
- }
- else if(decide==88){//join two streams
- int joinNum=s.nextInt();
- streams.set(joinNum-1, streams.get(joinNum-1)+streams.get(joinNum));
- for(int i=joinNum; i<streamNum-1; i++){
- streams.set(i, streams.get(i+1));
- }
- streams.remove(streamNum-1);
- }
- }
- for(int hitlerDidNothingWrong: streams){
- System.out.println(hitlerDidNothingWrong);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement