Pagini recente » Cod sursa (job #1199872) | Cod sursa (job #3240979) | Cod sursa (job #2084168) | Cod sursa (job #2233919) | Cod sursa (job #585326)
Cod sursa(job #585326)
#include <fstream>
#include <iostream>
using namespace std;
int n, m;
long long rasp;
void read(void);
void solve(void);
void write(void);
int main(void) {
read();
solve();
write();
return 0;
}
void read(void) {
ifstream fin("dreptunghiuri.in");
fin >> n >> m;
fin.close();
}
void write(void) {
ofstream fout("dreptunghiuri.out");
fout << rasp;
fout.close();
}
void solve(void) {
int lat, inalt;
for(int x = 1; x < m; ++x) { // cat merge orizontal segmentul
for(int l = 1; l < n; ++l) {
rasp += (m - x) * (n - l);
}
for(int y = 1; x + y < n && x + y < m; ++y) // cat urca segmentul
// latimea si inaltimea unui dr cu coeficient 1 trebuie sa se incadreze in matrice
for(int l = 1; x + y * l < m && y + x * l < n; ++l) { // coeficientul lungimii segmentelor laterale
lat = x + y * l;
inalt = y + x * l;
rasp += (m - lat) * (n - inalt);
}
}
}