Pagini recente » Cod sursa (job #2186456) | Cod sursa (job #1536473) | Cod sursa (job #2940843) | Cod sursa (job #931792) | Cod sursa (job #805843)
Cod sursa(job #805843)
#include <cstdio>
#include <algorithm>
using namespace std;
struct numere
{
int c;
int x;
int y;
};
numere a[1002];
int nr,n,v[250],i,j;
bool cmp(numere a, numere b)
{
if (a.c>b.c) return 0;
if (a.x>b.x) return 0;
if (a.y>b.y) return 0;
return 1;
}
int main()
{
freopen("stirling.in","r",stdin);
freopen("stirling.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++)
{
scanf("%d%d%d",&a[i].c,&a[i].x,&a[i].y);
}
sort(a+1,a+n+1,cmp);
v[1]=1;i=1;nr=1;
if (a[1].x==1) {printf("%d\n",1);nr++;}
while (a[nr].c==1)
{
i++;
for (j=1;j<=i;j++)
{
v[j]=v[j-1]-(i-1)*v[j];
if ((a[nr].x==i)&&(a[nr].y==j)) {nr++;printf("%d\n",v[j]);}
}
}
for (j=1;j<=i;j++) v[i]=0;
v[1]=1;i=1;nr=1;
if (a[1].x==1) {printf("%d\n",1);nr++;}
while (a[nr].c==2)
{
i++;
for (j=1;j<=i;j++)
{
v[j]=v[j-1]+j*v[j];
if ((a[nr].x==i)&&(a[nr].y==j)) {nr++;printf("%d\n",v[j]);}
}
}
return 0;
}