dポイントプレゼントキャンペーン実施中!

bool carPooling(int** trips, int tripsSize, int* tripsColSize, int capacity){
//trips = [[2,1,5],[3,3,7]], capacity = 4
//trips[0][0]
//tripsize = 2
//tripColSize = 3
//capacity = 4
int temp[1001] = {0};

for(int i;i < tripsSize;i++){
if(trips[i][0]>capacity){//トリップ1つ目でキャパシティを超えているかどうかを判断
return false;
}

int from = trips[i][1];//2つ目のトリップの内容をイントフロムに入れる
temp[from]+=trips[i][0];//1つ目のトリップの内容をすでに2つ目の内容を入れたフロムに入れる

}
for(int i = 0; i < 1001; i++){//トリップの最大の長さの1000まで繰り返す
if(temp[i] > capacity){
return false;
}
}
return true;
}

Q.どこが間違いですか?その解決方法も教えてください。

A 回答 (2件)

int temp[1001] = {0};


ですが、要素数は1000ではないですか。最大値は999だと思いますが。
for(int i = 0; i < 1001; i++)は
for(int i = 0; i < 1000; i++)ではないでしょうか。
for(int i = 0; i < temp.size; i++)でも良いと思います(using std::array;が必要)
    • good
    • 0
この回答へのお礼

元々1001で用意されてたんでね(汗

お礼日時:2022/03/09 18:23

・「そもそも何をしたいのか」がどこにも書かれていない


・「どこが間違いですか?」と質問するに至った経緯が書かれていない
の 2点は質問として間違ってるな.

あとは, 変数を初期化し忘れてるとか, 可視でない (かつ有効範囲外の) 変数をアクセスしてるとか.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!