예제 #1
0
파일: stream.c 프로젝트: odzhan/tinycrypt
int ExpandKey(u64 K[], u256 rk[], u64 key[])
{
  u64 A=K[0], B=K[1], C=K[2], D=K[3];

  EK(A,B,C,D,rk,key);

  return 0;
}
예제 #2
0
파일: wr3-3281.c 프로젝트: UsuallyGO/POJ
int main()
{
    int i, j, k, l, m;
    int tmp, ans;

    while(scanf("%d %d %d", &cows, &foods, &drinks) != EOF)
    {
	S = 0;
	T = 2*cows + foods + drinks + 1;
	memset(Graph, 0, sizeof(Graph));

	for(i = 1; i <= foods; i++)
	    Graph[S][i] = 1;
	for(i = 1; i <= drinks; i++)
	    Graph[foods+2*cows+i][T] = 1;

	for(i = 1; i <= cows; i++)
	{
	    scanf("%d %d", &j, &k);
#if DEBUG
	    printf("j:%d k:%d\n", j, k);
#endif
	    if(j == 0)//no food, S links to left cow[i]
	    {
		Graph[S][foods+i] = 1;
		printf("I j==0, Graph[S][%d]:%d\n", foods+i, Graph[S][foods+i]);
	    }
	    else
	    {
		for(l = 1; l <= j; l++)
		{
		    scanf("%d", &tmp);
		    Graph[tmp][foods+i] = 1;
		}
	    }
	    
	    Graph[foods+i][foods+cows+i] = 1;//left cow to right cow
	
	    if(k == 0)//no drinks, right cow[i] links to T 
		Graph[foods+cows+i][T] = 1;
	    else
	    {
		for(l = 1; l <=k; l++)
		{
		    scanf("%d", &tmp);
		    Graph[foods+cows+i][foods+2*cows+tmp] = 1;
		}
	    }
	}
#if DEBUG
	showGraph();
#endif
	ans = EK();
	printf("%d\n", ans);
    }

    return 0;
}