Buongiorno,
ho provato alcuni esercizi, ma quando carico il programma e lo verifico, mi restituisce sempre 0 punti su 100. Ho provato diversi esercizi, anche i più semplici, che funzionano con gli esempi e con altri input creati da me; eppure, quando carico, mi dà sempre 0 punti. Sto sbagliando il programma? Alle territoriali verrà controllato solo il file output, giusto? Ecco due esempi:
“Late for work”
#include <iostream>
#include <stdio.h>
#include <assert.h>
// constraints
// input data
int H0 = 0;
int M0 = 0;
int H1 = 0;
int M1 = 0;
int HF = 0;
int MF = 0;
using namespace std;
int main() {
// uncomment the following lines if you want to read/write from files
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
assert(4 == scanf("%d%d%d%d", &H0, &M0, &H1, &M1));
if(H0>H1) {
HF = (24-H0) + H1;
} else {
HF = H1 - H0;
}
if(M0>M1) {
MF = (60-M0) + M1;
HF = HF - 1;
} else {
MF = M1 - M0;
}
printf("%d\n", 42); // print the result
return 0;
}
“A Tantrum With Consequences”
#include<iostream>
using namespace std;
int main() {
freopen("input2.txt", "r", stdin);
freopen("output20.txt", "w", stdout);
int P; //planes
int check = 0; //did we drop a bomb?
int j = 0; //position of house to check if to bomb
int k = 0; //pos for burn queue
int N; //number of houses
int burn = 0; //number of burned houses
cin >> N;
cin >> P;
int tb[N]; // houses to burn at end of raid
int H[N]; //height of house i
for(int i = 0; i < N; i++) {
cin >> H[i];
tb[i] = H[i];
//cout << tb[i] << endl;
}
for(int i = 0; i < P; i++) {
for(j = 0; j < N; j++) {
if(j <= 0) {
if(H[j+1] < H[j]) {
tb[j] = 0;
burn = burn + 1;
}
} else if (j >= N-1) {
if(H[j-1] < H[j]) {
tb[j] = 0;
burn = burn + 1;
}
} else if (0<j<N-1) {
if(H[j-1] < H[j] && H[j+1] < H[j]) {
tb[j] = 0;
burn = burn + 1;
}
}
}
for(int f = 0; f < N; f++) {
H[f] = tb[f];
}
}
cout << burn;
return 0;
}