どなたか原因がわかる方がいらっしゃいましたら、教えていただきたいです。
問題文
A大学は1フロア10部屋、3階建ての公舎4棟を管理しています。公舎の入居・退去の情報を読み込み、各部屋の入居者数を出力するプログラムを作成して下さい。
n件の情報が与えられます。各情報では、4つの整数b, f, r, vが与えられます。これは、b棟f階のr番目の部屋にv人が追加で入居したことを示します。vが負の値の場合、-v人退去したことを示します。
最初、全ての部屋には誰も入居していないものとします。
Input
最初の行に情報の数 n が与えられます。
続いて n 件の情報が与えられます。各情報には4つの整数 b, f, r, v が空白区切りで1行に与えられます。
Output
4棟について入居者数を出力して下さい。各棟について、1階、2階、3階の順に入居者数を出力します。各階については、1番目、2番目、・・・、10番目の部屋の入居者数を順番に出力します。入居者数の前には1つの空白を出力して下さい。また、各棟の間には####################(20個の#)で区切って下さい。
求められる出力例
私が書いたコード
C++
1#include <stdio.h> 2#include <vector> 3#include <algorithm> 4 5using namespace std; 6 7int main() 8{ 9 int n,max_b=0; //n:the number of buildings 10 scanf("%d",&n); 11 int b[n],f[n],r[n],v[n]; //b:building, f:floor, r:room, v:the number of people 12 for(int i=0; i<n; i++){ 13 scanf("%d %d %d %d",b[i],f[i],r[i],v[i]); 14 max_b = max(b[i],max_b); 15 } 16 17 //----initialization----// 18 vector<vector<vector<int> > > data; 19 for(int i=0; i<max_b; i++){ 20 for(int j=0; j<3; j++){ 21 for(int k=0; k<10; k++){ 22 data[i][j].push_back(0); 23 } 24 } 25 } 26 27 //----movement of people----// 28 for(int i=0; i<n; i++){ 29 data[b[i]-1][f[i]-1][b[i]-1] += v[i]; 30 } 31 32 //----output----// 33 for(int i=0; i<max_b; i++){ 34 for(int j=0; j<3; j++){ 35 for(int k=0; k<10; k++){ 36 printf(" %d",data[i][j][k]); 37 } 38 printf("\n"); 39 } 40 for(int j=0; j<20; j++){ 41 printf("#"); 42 } 43 printf("\n"); 44 } 45}
Error message
timeout: the monitored command dumped core 0.00user 0.00system 0:03.34elapsed 0%CPU (0avgtext+0avgdata 2880maxresident)k 0inputs+8outputs (0major+233minor)pagefaults 0swaps
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。