Afişează mesaje
|
Pagini: [1] 2
|
13
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 865 Text2
|
: Martie 13, 2013, 10:48:09
|
Imi poate spune si mie cineva ce am gresit la aflarea numarului de posibilitati? for(i=0;i<l;++i) { if(l-i<=20&&urmv[i]!=-1) a[0][i]=1; else a[0][i]=-1; } cl=0; for(i=2;i<=n;++i) { cl^=1; for(j=l-1;j>=0;--j) { a[cl][j]=-1; s1=ok=0; for(k=1;k<=20&&j+k-1<l;++k) { if(urmv[j]==-1||j+k-1<urmv[j]) continue; if(a[cl^1][k+j]!=-1) { ok=1; s1=(s1+a[cl^1][j+k])%MOD; } } if(ok) a[cl][j]=s1; } } g<<a[0][cl]<<'\n';
|
|
|
24
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 285 Geometry
|
: Octombrie 30, 2012, 10:00:52
|
am modificat si tot 0 pct ;  #include<algorithm> #include<fstream> using namespace std; ifstream f("geometry.in"); ofstream g("geometry.out"); int i,e,j,n,nr,ok,v[200]; struct pc{double x,y;}; pc a[510],b[510]; double s(pc a,pc b,pc c) { return a.y*(c.x-b.x)-a.x*(c.y-b.y)+b.x*c.y-c.x*b.y; } double inter(pc a1,pc b1,pc a2,pc b2) { return (s(a2,a1,b1)*s(b2,a1,b1)<=0&&s(a1,a2,b2)*s(b1,a2,b2)<=0); } int main() { f>>n; for(i=1;i<=n;++i) { f>>a[i].x>>a[i].y>>b[i].x>>b[i].y; } for(i=1;i<=n;++i) for(j=i+1;j<=n;++j) if(inter(a[i],b[i],a[j],b[j])) ++nr g<<nr<<'\n'; return 0; }

|
|
|
|