Gigel are o bucată de hârtie cu dimensiunile N*M și vrea să o taie în bucăți cu dimensiunile 1*1, respectând regulile:
poate să taie o singură foaie la un moment dat. Nu poate suprapune mai multe foi și să le taie în același timp;
fiecare tăietură se face dintr-o parte în alta a foii, pe verticală sau orizontală. Figura următoare arată cele trei moduri în care poate fi tăiată o foaie cu dimensiunile 3*2.
Scrieți un program care să citească numerele N și M și să determine numărul de tăieturi care trebuie efectuate.
Exemplu
Intrare
2 3
Ieșire
5
#include
using namespace std;
int main() {
int N, M, S;
cin>>N>>M;
if(N==1 && M==1)
cout<<0<
else if(N==1 && M==2)
cout<<1<
else if(M==1 && N==2)
cout<<1<
else{
S=N*M-1;
cout<
}
return 0;
}
Asa am facut o eu si nu pot intelege de ce iau 80 de pct , am testat pe diferite numere , imi puteti explica care e problema?
1 ≤ N,M ≤ 1000000
Răspunsuri la întrebare
Răspuns de
5
#include <iostream>
using namespace std;
int main()
{
long long n, m;
cin >> n >> m;
cout << n * m - 1;
return 0;
}
Răspuns de
0
#include <iostream>
using namespace std;
int main ()
{
unsigned int n,m,S=0;
cin>>n>>m;
cout<<1LL*n*m-1;//treceți dincolo de dimensiunea tipului întreg -> comportament nedefinit). Cu 1LL,
}
Alte întrebări interesante
Informatică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Informatică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
postez codul meu de 100...