Pagini recente » Cod sursa (job #2472552) | Atasamentele paginii 1111111111111111 | Cod sursa (job #2976070) | Istoria paginii runda/moisilking/clasament | Cod sursa (job #206539)
Cod sursa(job #206539)
#include<fstream>
using namespace std;
int dp[8][4], p[8][4], l[8], pant[8], cates;
int main(){
int R, D, i, n1, j, ok;
ifstream f("pascal.in");
f>>R>>D;
f.close();
dp[2][0]=2; p[2][0]=1; l[2]=1;
dp[3][0]=3; p[3][0]=1; l[3]=1;
dp[4][0]=2; p[4][0]=2; l[4]=1;
dp[5][0]=5; p[5][0]=1; l[5]=1;
dp[6][0]=2; dp[6][1]=3; p[6][0]=1; p[6][1]=1; l[6]=2;
for(i=1;(i<<1)<=R; ++i){
n1=R-i+1;
for(j=0;j<l[D];++j)
while(n1%dp[D][j]==0){
n1/=dp[D][j];
++pant[dp[D][j]];
}
n1=i;
for(j=0;j<l[D];++j)
while(n1%dp[D][j]==0){
n1/=dp[D][j];
--pant[dp[D][j]];
}
ok=1;
for(j=0; j<l[D];++j)
if(pant[dp[D][j]]<p[D][j])
ok=0;
if(ok) ++cates;
}
cates<<=1;
if(ok && (!(R&1)))
--cates;
ofstream g("pascal.out");
g<<cates<<'\n';
g.close();
return 0;
}