Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Code Race/2016/리바이: Difference between revisions

From ZeroWiki
imported>김남효
No edit summary
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 164: Line 164:
  scanf("%d", &a[i]);
  scanf("%d", &a[i]);
  }
  }
for (int i = 0; i < 8; i++)
{
  if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1)
  if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1)
  {
  {
Line 177: Line 176:
  }
  }
 
 
  }
 
 
 
 
 
Line 188: Line 187:


== 문제 4 ==
== 문제 4 ==
  여기에 코드를 넣어주세요
   
#include <stdio.h>
#include <stdbool.h>
#pragma warning (disable:4996)
int reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11;
void load(int a, int b, int c, int d)
{
int num;
if (a == 0 && b == 0)num = mem00;
if (a == 0 && b == 1)num = mem01;
if (a == 1 && b == 0)num = mem10;
if (a == 1 && b == 1)num = mem11;
if (c == 0 && d == 0)reg00 = num;
if (c == 0 && d == 1)reg01 = num;
if (c == 1 && d == 0)reg10 = num;
if (c == 1 && d == 1)reg11 = num;
}
void add(int a, int b, int c, int d)
{
int num;
if (a == 0 && b == 0)num = reg00;
if (a == 0 && b == 1)num = reg01;
if (a == 1 && b == 0)num = reg10;
if (a == 1 && b == 1)num = reg11;
if (c == 0 && d == 0)reg00 += num;
if (c == 0 && d == 1)reg01 += num;
if (c == 1 && d == 0)reg10 += num;
if (c == 1 && d == 1)reg11 += num;
}
void mul(int a, int b, int c, int d)
{
int num;
if (a == 0 && b == 0)num = reg00;
if (a == 0 && b == 1)num = reg01;
if (a == 1 && b == 0)num = reg10;
if (a == 1 && b == 1)num = reg11;
if (c == 0 && d == 0)reg00 *= num;
if (c == 0 && d == 1)reg01 *= num;
if (c == 1 && d == 0)reg10 *= num;
if (c == 1 && d == 1)reg11 *= num;
}
void save(int a, int b, int c, int d)
{
int num;
if (a == 0 && b == 0)num = reg00;
if (a == 0 && b == 1)num = reg01;
if (a == 1 && b == 0)num = reg10;
if (a == 1 && b == 1)num = reg11;
if (c == 0 && d == 0)mem00 = num;
if (c == 0 && d == 1)mem01 = num;
if (c == 1 && d == 0)mem10 = num;
if (c == 1 && d == 1)mem11 = num;
}
int main()
{
int a[8],b[8],c[2][2];
int num;
printf("TEAM : 장용운 새싹 1 이길상 새싹 2 김남효\n");
for (int i = 0; i < 8; i++)
{
scanf("%d", &b[i]);
}
mem00 = b[4];
mem01 = b[5];
mem10 = b[6];
mem11 = b[7];
reg00 = b[0];
reg01 = b[1];
reg10 = b[2];
reg11 = b[3];
while (1)
{
for (int i = 0; i < 8; i++)
{
scanf("%d", &a[i]);
}
if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1)
{
printf("%d %d %d %d %d %d %d %d", reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11);
return 0;
}
else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 0)
{
add(a[4], a[5], a[6], a[7]);
}
else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 1)
{
mul(a[4], a[5], a[6], a[7]);
}
else if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 1)
{
save(a[4], a[5], a[6], a[7]);
}
else
{
load(a[4], a[5], a[6], a[7]);
}
}
}
== 문제 5 ==
== 문제 5 ==
  여기에 코드를 넣어주세요
   
#include <stdio.h>
#include <stdbool.h>
#pragma warning (disable:4996)
int reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11,equ = 0;
void load(int a, int b, int c, int d)
{
int num;
if (a == 0 && b == 0)num = mem00;
if (a == 0 && b == 1)num = mem01;
if (a == 1 && b == 0)num = mem10;
if (a == 1 && b == 1)num = mem11;
if (c == 0 && d == 0)reg00 = num;
if (c == 0 && d == 1)reg01 = num;
if (c == 1 && d == 0)reg10 = num;
if (c == 1 && d == 1)reg11 = num;
}
void add(int a, int b, int c, int d)
{
int num;
if (a == 0 && b == 0)num = reg00;
if (a == 0 && b == 1)num = reg01;
if (a == 1 && b == 0)num = reg10;
if (a == 1 && b == 1)num = reg11;
if (c == 0 && d == 0)reg00 += num;
if (c == 0 && d == 1)reg01 += num;
if (c == 1 && d == 0)reg10 += num;
if (c == 1 && d == 1)reg11 += num;
}
void mul(int a, int b, int c, int d)
{
int num;
if (a == 0 && b == 0)num = reg00;
if (a == 0 && b == 1)num = reg01;
if (a == 1 && b == 0)num = reg10;
if (a == 1 && b == 1)num = reg11;
if (c == 0 && d == 0)reg00 *= num;
if (c == 0 && d == 1)reg01 *= num;
if (c == 1 && d == 0)reg10 *= num;
if (c == 1 && d == 1)reg11 *= num;
}
void save(int a, int b, int c, int d)
{
int num;
if (a == 0 && b == 0)num = reg00;
if (a == 0 && b == 1)num = reg01;
if (a == 1 && b == 0)num = reg10;
if (a == 1 && b == 1)num = reg11;
if (c == 0 && d == 0)mem00 = num;
if (c == 0 && d == 1)mem01 = num;
if (c == 1 && d == 0)mem10 = num;
if (c == 1 && d == 1)mem11 = num;
}
void equal(int a, int b, int c, int d)
{
int num,k;
if (a == 0 && b == 0)num = reg00;
if (a == 0 && b == 1)num = reg01;
if (a == 1 && b == 0)num = reg10;
if (a == 1 && b == 1)num = reg11;
if (c == 0 && d == 0)k = reg00 ;
if (c == 0 && d == 1)k = reg01;
if (c == 1 && d == 0)k = reg10;
if (c == 1 && d == 1)k = reg11;
if (num == k)
{
equ = 1;
}
else
equ = 0;
}
int main()
{
int a[8],b[8],c[2][2];
int num;
printf("TEAM : 장용운 새싹 1 이길상 새싹 2 김남효\n");
for (int i = 0; i < 8; i++)
{
scanf("%d", &b[i]);
}
mem00 = b[4];
mem01 = b[5];
mem10 = b[6];
mem11 = b[7];
reg00 = b[0];
reg01 = b[1];
reg10 = b[2];
reg11 = b[3];
while (1)
{
for (int i = 0; i < 8; i++)
{
scanf("%d", &a[i]);
}
if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1)
{
printf("%d %d %d %d %d %d %d %d", reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11);
return 0;
}
else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 0)
{
add(a[4], a[5], a[6], a[7]);
}
else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 1)
{
mul(a[4], a[5], a[6], a[7]);
}
else if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 1)
{
save(a[4], a[5], a[6], a[7]);
}
else if (a[0] == 0 && a[1] == 1 && a[2] == 0 && a[3] == 0)
{
equal(a[4], a[5], a[6], a[7]);
printf("%d\n", equ);
}
else
{
load(a[4], a[5], a[6], a[7]);
}
}
}
== 문제 6 ==
== 문제 6 ==
  여기에 코드를 넣어주세요
 
   
#include <stdio.h>
#include <stdbool.h>
#pragma warning (disable:4996)
int reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11, equ = 0, con=0;
void load(int a, int b, int c, int d)
{
int num;
if (a == 0 && b == 0)num = mem00;
if (a == 0 && b == 1)num = mem01;
if (a == 1 && b == 0)num = mem10;
if (a == 1 && b == 1)num = mem11;
if (c == 0 && d == 0)reg00 = num;
if (c == 0 && d == 1)reg01 = num;
if (c == 1 && d == 0)reg10 = num;
if (c == 1 && d == 1)reg11 = num;
}
void add(int a, int b, int c, int d)
{
int num;
if (a == 0 && b == 0)num = reg00;
if (a == 0 && b == 1)num = reg01;
if (a == 1 && b == 0)num = reg10;
if (a == 1 && b == 1)num = reg11;
if (c == 0 && d == 0)reg00 += num;
if (c == 0 && d == 1)reg01 += num;
if (c == 1 && d == 0)reg10 += num;
if (c == 1 && d == 1)reg11 += num;
}
void mul(int a, int b, int c, int d)
{
int num;
if (a == 0 && b == 0)num = reg00;
if (a == 0 && b == 1)num = reg01;
if (a == 1 && b == 0)num = reg10;
if (a == 1 && b == 1)num = reg11;
if (c == 0 && d == 0)reg00 *= num;
if (c == 0 && d == 1)reg01 *= num;
if (c == 1 && d == 0)reg10 *= num;
if (c == 1 && d == 1)reg11 *= num;
}
void save(int a, int b, int c, int d)
{
int num;
if (a == 0 && b == 0)num = reg00;
if (a == 0 && b == 1)num = reg01;
if (a == 1 && b == 0)num = reg10;
if (a == 1 && b == 1)num = reg11;
if (c == 0 && d == 0)mem00 = num;
if (c == 0 && d == 1)mem01 = num;
if (c == 1 && d == 0)mem10 = num;
if (c == 1 && d == 1)mem11 = num;
}
void equal(int a, int b, int c, int d)
{
int num,k;
if (a == 0 && b == 0)num = reg00;
if (a == 0 && b == 1)num = reg01;
if (a == 1 && b == 0)num = reg10;
if (a == 1 && b == 1)num = reg11;
if (c == 0 && d == 0)k = reg00 ;
if (c == 0 && d == 1)k = reg01;
if (c == 1 && d == 0)k = reg10;
if (c == 1 && d == 1)k = reg11;
if (num == k)
{
equ = 1;
}
else
equ = 0;
}
void beq(int a, int b, int c, int d)
{
if (equ == 1)
{
con = a * 8 + b * 4 + c * 2 + d * 1;
}
}
int main()
{
int a[8],b[8],c[2][2];
int num;
printf("TEAM : 장용운 새싹 1 이길상 새싹 2 김남효\n");
for (int i = 0; i < 8; i++)
{
scanf("%d", &b[i]);
}
mem00 = b[4];
mem01 = b[5];
mem10 = b[6];
mem11 = b[7];
reg00 = b[0];
reg01 = b[1];
reg10 = b[2];
reg11 = b[3];
while (1)
{
for (int i = 0; i < 8; i++)
{
scanf("%d", &a[i]);
}
if (con >= 1)
{
con--;
continue;
}
else if (a[0] == 1 && a[1] ==0&&a[1] == 0&&a[3] == 0)
{
beq(a[4], a[5], a[6], a[7]);
}
else if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1)
{
printf("%d %d %d %d %d %d %d %d\n", reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11);
return 0;
}
else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 0)
{
add(a[4], a[5], a[6], a[7]);
}
else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 1)
{
mul(a[4], a[5], a[6], a[7]);
}
else if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 1)
{
save(a[4], a[5], a[6], a[7]);
}
else if (a[0] == 0 && a[1] == 1 && a[2] == 0 && a[3] == 0)
{
equal(a[4], a[5], a[6], a[7]);
printf("%d\n", equ);
}
else
{
load(a[4], a[5], a[6], a[7]);
}
}
}
-----------------------------------------------------------------------
-----------------------------------------------------------------------
[[CodeRace]] [[CodeRace/2016]]
[[CodeRace]] [[CodeRace/2016]]



Latest revision as of 12:01, 20 May 2016

CodeRace 2016 답안 제출 포멧입니다.


강사: 장용운 새싹: 이길상 김남효

문제 1

#include <stdio.h>
#include <stdbool.h>


int main()
{
	printf("TEAM : 장용운 새싹 1 이길상 새싹 2 김남효\n");
	return 0;
}

문제 2

#include <stdio.h>
#include <stdbool.h>
#pragma warning (disable:4996)


int main()
{
	int a[8];
	printf("TEAM : 장용운 새싹 1 이길상 새싹 2 김남효\n");

	while (1)
	{

		for (int i = 0; i < 8; i++)
		{
			scanf("%d", &a[i]);
		}
		for (int i = 0; i < 8; i++)
		{
			if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1)
			{
				return 0;
			}
			else
			{
				printf("%d ", a[i]);
			}
			
		}
		printf("\n");
	}
	
}
  1. include <stdio.h>
  2. include <stdbool.h>
  3. pragma warning (disable:4996)

int reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11;


void load(int a, int b, int c, int d) { int num; if (a == 0 && b == 0)num = mem00; if (a == 0 && b == 1)num = mem01; if (a == 1 && b == 0)num = mem10; if (a == 1 && b == 1)num = mem11;

if (c == 0 && d == 0)reg00 = num; if (c == 0 && d == 1)reg01 = num; if (c == 1 && d == 0)reg10 = num; if (c == 1 && d == 1)reg11 = num;

}


int main() { int a[8],b[8]; printf("TEAM : 장용운 새싹 1 이길상 새싹 2 김남효\n"); for (int i = 0; i < 8; i++) { scanf("%d", &b[i]); } mem00 = b[4]; mem01 = b[5]; mem10 = b[6]; mem11 = b[7]; reg00 = b[0]; reg01 = b[1]; reg10 = b[2]; reg11 = b[3];

while (1) {

for (int i = 0; i < 8; i++) { scanf("%d", &a[i]); } for (int i = 0; i < 8; i++) { if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1) { printf("%d %d %d %d %d %d %d %d", reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11); return 0; } else { load(a[4], a[5], a[6], a[7]);

}

}


}

}

문제 3

#include <stdio.h>
#include <stdbool.h>
#pragma warning (disable:4996)

int reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11;



void load(int a, int b, int c, int d)
{
	int num;
	if (a == 0 && b == 0)num = mem00;
	if (a == 0 && b == 1)num = mem01;
	if (a == 1 && b == 0)num = mem10;
	if (a == 1 && b == 1)num = mem11;

	if (c == 0 && d == 0)reg00 = num;
	if (c == 0 && d == 1)reg01 = num;
	if (c == 1 && d == 0)reg10 = num;
	if (c == 1 && d == 1)reg11 = num;
	
}


int main()
{
	int a[8],b[8];
	printf("TEAM : 장용운 새싹 1 이길상 새싹 2 김남효\n");
	for (int i = 0; i < 8; i++)
	{
		scanf("%d", &b[i]);
	}
	mem00 = b[4];
	mem01 = b[5];
	mem10 = b[6];
	mem11 = b[7];
	reg00 = b[0];
	reg01 = b[1];
	reg10 = b[2];
	reg11 = b[3];

	while (1)
	{

		for (int i = 0; i < 8; i++)
		{
			scanf("%d", &a[i]);
		}

			if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1)
			{
				printf("%d %d %d %d %d %d %d %d", reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11);
				return 0;
			}
			else
			{
				load(a[4], a[5], a[6], a[7]);
				
			}
			
		
		
		
	}
	
}



문제 4

#include <stdio.h>
#include <stdbool.h>
#pragma warning (disable:4996)

int reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11;



void load(int a, int b, int c, int d)
{
	int num;
	if (a == 0 && b == 0)num = mem00;
	if (a == 0 && b == 1)num = mem01;
	if (a == 1 && b == 0)num = mem10;
	if (a == 1 && b == 1)num = mem11;

	if (c == 0 && d == 0)reg00 = num;
	if (c == 0 && d == 1)reg01 = num;
	if (c == 1 && d == 0)reg10 = num;
	if (c == 1 && d == 1)reg11 = num;
	
}

void add(int a, int b, int c, int d)
{
	int num;
	if (a == 0 && b == 0)num = reg00;
	if (a == 0 && b == 1)num = reg01;
	if (a == 1 && b == 0)num = reg10;
	if (a == 1 && b == 1)num = reg11;

	if (c == 0 && d == 0)reg00 += num;
	if (c == 0 && d == 1)reg01 += num;
	if (c == 1 && d == 0)reg10 += num;
	if (c == 1 && d == 1)reg11 += num;
}
void mul(int a, int b, int c, int d)
{
	int num;
	if (a == 0 && b == 0)num = reg00;
	if (a == 0 && b == 1)num = reg01;
	if (a == 1 && b == 0)num = reg10;
	if (a == 1 && b == 1)num = reg11;

	if (c == 0 && d == 0)reg00 *= num;
	if (c == 0 && d == 1)reg01 *= num;
	if (c == 1 && d == 0)reg10 *= num;
	if (c == 1 && d == 1)reg11 *= num;
}
void save(int a, int b, int c, int d)
{
	int num;
	if (a == 0 && b == 0)num = reg00;
	if (a == 0 && b == 1)num = reg01;
	if (a == 1 && b == 0)num = reg10;
	if (a == 1 && b == 1)num = reg11;

	if (c == 0 && d == 0)mem00 = num;
	if (c == 0 && d == 1)mem01 = num;
	if (c == 1 && d == 0)mem10 = num;
	if (c == 1 && d == 1)mem11 = num;

}
int main()
{
	int a[8],b[8],c[2][2];
	int num;
	printf("TEAM : 장용운 새싹 1 이길상 새싹 2 김남효\n");
	for (int i = 0; i < 8; i++)
	{
		scanf("%d", &b[i]);
	}
	mem00 = b[4];
	mem01 = b[5];
	mem10 = b[6];
	mem11 = b[7];
	reg00 = b[0];
	reg01 = b[1];
	reg10 = b[2];
	reg11 = b[3];
	while (1)
	{


		for (int i = 0; i < 8; i++)
		{
			scanf("%d", &a[i]);
		}

		if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1)
		{
			printf("%d %d %d %d %d %d %d %d", reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11);
			return 0;
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 0)
		{
			add(a[4], a[5], a[6], a[7]);
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 1)
		{
			mul(a[4], a[5], a[6], a[7]);
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 1)
		{
			save(a[4], a[5], a[6], a[7]);
		}
		else
		{
			load(a[4], a[5], a[6], a[7]);

		}
	}
	
}

문제 5

#include <stdio.h>
#include <stdbool.h>
#pragma warning (disable:4996)

int reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11,equ = 0;



void load(int a, int b, int c, int d)
{
	int num;
	if (a == 0 && b == 0)num = mem00;
	if (a == 0 && b == 1)num = mem01;
	if (a == 1 && b == 0)num = mem10;
	if (a == 1 && b == 1)num = mem11;

	if (c == 0 && d == 0)reg00 = num;
	if (c == 0 && d == 1)reg01 = num;
	if (c == 1 && d == 0)reg10 = num;
	if (c == 1 && d == 1)reg11 = num;
	
}

void add(int a, int b, int c, int d)
{
	int num;
	if (a == 0 && b == 0)num = reg00;
	if (a == 0 && b == 1)num = reg01;
	if (a == 1 && b == 0)num = reg10;
	if (a == 1 && b == 1)num = reg11;

	if (c == 0 && d == 0)reg00 += num;
	if (c == 0 && d == 1)reg01 += num;
	if (c == 1 && d == 0)reg10 += num;
	if (c == 1 && d == 1)reg11 += num;
}
void mul(int a, int b, int c, int d)
{
	int num;
	if (a == 0 && b == 0)num = reg00;
	if (a == 0 && b == 1)num = reg01;
	if (a == 1 && b == 0)num = reg10;
	if (a == 1 && b == 1)num = reg11;

	if (c == 0 && d == 0)reg00 *= num;
	if (c == 0 && d == 1)reg01 *= num;
	if (c == 1 && d == 0)reg10 *= num;
	if (c == 1 && d == 1)reg11 *= num;
}
void save(int a, int b, int c, int d)
{
	int num;
	if (a == 0 && b == 0)num = reg00;
	if (a == 0 && b == 1)num = reg01;
	if (a == 1 && b == 0)num = reg10;
	if (a == 1 && b == 1)num = reg11;

	if (c == 0 && d == 0)mem00 = num;
	if (c == 0 && d == 1)mem01 = num;
	if (c == 1 && d == 0)mem10 = num;
	if (c == 1 && d == 1)mem11 = num;

}
void equal(int a, int b, int c, int d)
{

	int num,k;
	if (a == 0 && b == 0)num = reg00;
	if (a == 0 && b == 1)num = reg01;
	if (a == 1 && b == 0)num = reg10;
	if (a == 1 && b == 1)num = reg11;

	if (c == 0 && d == 0)k = reg00 ;
	if (c == 0 && d == 1)k = reg01;
	if (c == 1 && d == 0)k = reg10;
	if (c == 1 && d == 1)k = reg11;

	if (num == k)
	{
		equ = 1;
	}
	else
		equ = 0;
		
}
int main()
{
	int a[8],b[8],c[2][2];
	int num;
	printf("TEAM : 장용운 새싹 1 이길상 새싹 2 김남효\n");
	for (int i = 0; i < 8; i++)
	{
		scanf("%d", &b[i]);
	}
	mem00 = b[4];
	mem01 = b[5];
	mem10 = b[6];
	mem11 = b[7];
	reg00 = b[0];
	reg01 = b[1];
	reg10 = b[2];
	reg11 = b[3];
	while (1)
	{
		for (int i = 0; i < 8; i++)
		{
			scanf("%d", &a[i]);
		}

		if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1)
		{
			printf("%d %d %d %d %d %d %d %d", reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11);
			return 0;
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 0)
		{
			add(a[4], a[5], a[6], a[7]);
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 1)
		{
			mul(a[4], a[5], a[6], a[7]);
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 1)
		{
			save(a[4], a[5], a[6], a[7]);
		}
		else if (a[0] == 0 && a[1] == 1 && a[2] == 0 && a[3] == 0)
		{
			equal(a[4], a[5], a[6], a[7]);
			printf("%d\n", equ);
		}
		else
		{
			load(a[4], a[5], a[6], a[7]);
		}
	}
}

문제 6

#include <stdio.h>
#include <stdbool.h>
#pragma warning (disable:4996)

int reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11, equ = 0, con=0;



void load(int a, int b, int c, int d)
{
	int num;
	if (a == 0 && b == 0)num = mem00;
	if (a == 0 && b == 1)num = mem01;
	if (a == 1 && b == 0)num = mem10;
	if (a == 1 && b == 1)num = mem11;

	if (c == 0 && d == 0)reg00 = num;
	if (c == 0 && d == 1)reg01 = num;
	if (c == 1 && d == 0)reg10 = num;
	if (c == 1 && d == 1)reg11 = num;
	
}

void add(int a, int b, int c, int d)
{
	int num;
	if (a == 0 && b == 0)num = reg00;
	if (a == 0 && b == 1)num = reg01;
	if (a == 1 && b == 0)num = reg10;
	if (a == 1 && b == 1)num = reg11;

	if (c == 0 && d == 0)reg00 += num;
	if (c == 0 && d == 1)reg01 += num;
	if (c == 1 && d == 0)reg10 += num;
	if (c == 1 && d == 1)reg11 += num;
}
void mul(int a, int b, int c, int d)
{
	int num;
	if (a == 0 && b == 0)num = reg00;
	if (a == 0 && b == 1)num = reg01;
	if (a == 1 && b == 0)num = reg10;
	if (a == 1 && b == 1)num = reg11;

	if (c == 0 && d == 0)reg00 *= num;
	if (c == 0 && d == 1)reg01 *= num;
	if (c == 1 && d == 0)reg10 *= num;
	if (c == 1 && d == 1)reg11 *= num;
}
void save(int a, int b, int c, int d)
{
	int num;
	if (a == 0 && b == 0)num = reg00;
	if (a == 0 && b == 1)num = reg01;
	if (a == 1 && b == 0)num = reg10;
	if (a == 1 && b == 1)num = reg11;

	if (c == 0 && d == 0)mem00 = num;
	if (c == 0 && d == 1)mem01 = num;
	if (c == 1 && d == 0)mem10 = num;
	if (c == 1 && d == 1)mem11 = num;

}
void equal(int a, int b, int c, int d)
{

	int num,k;
	if (a == 0 && b == 0)num = reg00;
	if (a == 0 && b == 1)num = reg01;
	if (a == 1 && b == 0)num = reg10;
	if (a == 1 && b == 1)num = reg11;

	if (c == 0 && d == 0)k = reg00 ;
	if (c == 0 && d == 1)k = reg01;
	if (c == 1 && d == 0)k = reg10;
	if (c == 1 && d == 1)k = reg11;

	if (num == k)
	{
		equ = 1;
	}
	else
		equ = 0;
		
}
void beq(int a, int b, int c, int d)
{
	if (equ == 1)
	{
		con = a * 8 + b * 4 + c * 2 + d * 1;

	}
}
int main()
{
	int a[8],b[8],c[2][2];
	int num;
	printf("TEAM : 장용운 새싹 1 이길상 새싹 2 김남효\n");
	for (int i = 0; i < 8; i++)
	{
		scanf("%d", &b[i]);
	}
	mem00 = b[4];
	mem01 = b[5];
	mem10 = b[6];
	mem11 = b[7];
	reg00 = b[0];
	reg01 = b[1];
	reg10 = b[2];
	reg11 = b[3];
	while (1)
	{
		for (int i = 0; i < 8; i++)
		{
			scanf("%d", &a[i]);
		}
		if (con >= 1)
		{
			con--;
			continue;
		}
		else if (a[0] == 1 && a[1] ==0&&a[1] == 0&&a[3] == 0)
		{
			beq(a[4], a[5], a[6], a[7]);						
		}
		else if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1)
		{
			printf("%d %d %d %d %d %d %d %d\n", reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11);
			return 0;
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 0)
		{
			add(a[4], a[5], a[6], a[7]);
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 1)
		{
			mul(a[4], a[5], a[6], a[7]);
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 1)
		{
			save(a[4], a[5], a[6], a[7]);
		}
		else if (a[0] == 0 && a[1] == 1 && a[2] == 0 && a[3] == 0)
		{
			equal(a[4], a[5], a[6], a[7]);
			printf("%d\n", equ);
		}
		
		else
		{
			load(a[4], a[5], a[6], a[7]);
		}
	}

}


CodeRace CodeRace/2016