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

CodeRace/2016/초코하임: Difference between revisions

From ZeroWiki
No edit summary
No edit summary
Line 762: Line 762:
  printf("%d %d %d %d %d %d %d %d\n", reg[0], reg[1], reg[2], reg[3], mem[0], mem[1], mem[2], mem[3]);
  printf("%d %d %d %d %d %d %d %d\n", reg[0], reg[1], reg[2], reg[3], mem[0], mem[1], mem[2], mem[3]);
  printf("\n");*/
  printf("\n");*/
  scanf(" %d %d %d %d %d %d %d %d", &reg[0], &reg[1], &reg[2], &reg[3], &mem[0], &mem[1], &mem[2], &mem[3]);
  scanf(" %d %d %d %d %d %d %d %d", &reg[0], &reg[1], &reg[2], &reg[3], &mem[0], &mem[1], &mem[2], &mem[3]);
  while (1)
  while (1)
Line 1,129: Line 1,129:
  if (y1 == 0 && y2 == 0)
  if (y1 == 0 && y2 == 0)
  {
  {
  if (reg[0] == reg[0])
  if (reg[0] != reg[0])
  {
  {
  equ = 0;
  equ = 0;
Line 1,142: Line 1,142:
  if (y1 == 0 && y2 == 1)
  if (y1 == 0 && y2 == 1)
  {
  {
  if (reg[0] == reg[1])
  if (reg[0] != reg[1])
  {
  {
  equ = 0;
  equ = 0;
Line 1,155: Line 1,155:
  if (y1 == 1 && y2 == 0)
  if (y1 == 1 && y2 == 0)
  {
  {
  if (reg[0] == reg[1])
  if (reg[0] != reg[1])
  {
  {
  equ = 0;
  equ = 0;
Line 1,168: Line 1,168:
  if (y1 == 1 && y2 == 1)
  if (y1 == 1 && y2 == 1)
  {
  {
  if (reg[1] == reg[1])
  if (reg[1] != reg[1])
  {
  {
  equ = 0;
  equ = 0;
Line 1,184: Line 1,184:
  if (y1 == 0 && y2 == 0)
  if (y1 == 0 && y2 == 0)
  {
  {
  if (reg[1] == reg[0])
  if (reg[1] != reg[0])
  {
  {
  equ = 0;
  equ = 0;
Line 1,197: Line 1,197:
  if (y1 == 0 && y2 == 1)
  if (y1 == 0 && y2 == 1)
  {
  {
  if (reg[1] == reg[1])
  if (reg[1] != reg[1])
  {
  {
  equ = 0;
  equ = 0;
Line 1,210: Line 1,210:
  if (y1 == 1 && y2 == 0)
  if (y1 == 1 && y2 == 0)
  {
  {
  if (reg[1] == reg[1])
  if (reg[1] != reg[1])
  {
  {
  equ = 0;
  equ = 0;
Line 1,223: Line 1,223:
  if (y1 == 1 && y2 == 1)
  if (y1 == 1 && y2 == 1)
  {
  {
  if (reg[1] == reg[1])
  if (reg[1] != reg[1])
  {
  {
  equ = 0;
  equ = 0;
Line 1,239: Line 1,239:
  if (y1 == 0 && y2 == 0)
  if (y1 == 0 && y2 == 0)
  {
  {
  if (reg[2] == reg[0])
  if (reg[2] != reg[0])
  {
  {
  equ = 0;
  equ = 0;
Line 1,252: Line 1,252:
  if (y1 == 0 && y2 == 1)
  if (y1 == 0 && y2 == 1)
  {
  {
  if (reg[2] == reg[1])
  if (reg[2] != reg[1])
  {
  {
  equ = 0;
  equ = 0;
Line 1,265: Line 1,265:
  if (y1 == 1 && y2 == 0)
  if (y1 == 1 && y2 == 0)
  {
  {
  if (reg[2] == reg[1])
  if (reg[2] != reg[1])
  {
  {
  equ = 0;
  equ = 0;
Line 1,278: Line 1,278:
  if (y1 == 1 && y2 == 1)
  if (y1 == 1 && y2 == 1)
  {
  {
  if (reg[2] == reg[1])
  if (reg[2] != reg[1])
  {
  {
  equ = 0;
  equ = 0;
Line 1,294: Line 1,294:
  if (y1 == 0 && y2 == 0)
  if (y1 == 0 && y2 == 0)
  {
  {
  if (reg[3] == reg[0])
  if (reg[3] != reg[0])
  {
  {
  equ = 0;
  equ = 0;
Line 1,307: Line 1,307:
  if (y1 == 0 && y2 == 1)
  if (y1 == 0 && y2 == 1)
  {
  {
  if (reg[3] == reg[1])
  if (reg[3] != reg[1])
  {
  {
  equ = 0;
  equ = 0;
Line 1,320: Line 1,320:
  if (y1 == 1 && y2 == 0)
  if (y1 == 1 && y2 == 0)
  {
  {
  if (reg[3] == reg[1])
  if (reg[3] != reg[1])
  {
  {
  equ = 0;
  equ = 0;
Line 1,333: Line 1,333:
  if (y1 == 1 && y2 == 1)
  if (y1 == 1 && y2 == 1)
  {
  {
  if (reg[3] == reg[1])
  if (reg[3] != reg[1])
  {
  {
  equ = 0;
  equ = 0;

Revision as of 11:40, 20 May 2016

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


강사: 최현준 새싹: 변영무, 김경찬

문제 1

#include<stdio.h>

void main()
{
	printf("@@@@@@@@@@@@@@@@@@@@@@@@\n@ 초코하임반           @\n@ 멘토: 최현준         @\n@ 멘티: 김경찬, 변영무 @\n@@@@@@@@@@@@@@@@@@@@@@@@\n\n\n");

	printf("Team: 최현준 김경찬 변영무\n");
}

문제 2

#include<stdio.h>

void main()
{

	int a[8], chk=0;
	printf("@@@@@@@@@@@@@@@@@@@@@@@@\n@ 초코하임반           @\n@ 멘토: 최현준         @\n@ 멘티: 김경찬, 변영무 @\n@@@@@@@@@@@@@@@@@@@@@@@@\n\n\n");

	printf("Team: 최현준 김경찬 변영무\n");



	while (4)
	{
		scanf(" %d %d %d %d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6], &a[7]);
		for (int i = 0; i < 4; i++)
		{
			if (a[i] == 1)
			{
				chk++;
			}
		}
		if (chk == 4)
		{
			break;
		}
		chk = 0;

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

}

문제 3

#include<stdio.h>

void load(int a, int b, int c, int d);


int reg[4];
short mem[4];

void main()
{

	int a[8], chk = 0, chk2 = 0;
	int x1, x2, y1, y2;
	
	//1번
	printf("Team: 최현준 김경찬 변영무\n");


	/*
	while (4)
	{

		scanf(" %d %d %d %d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6], &a[7]);
		for (int i = 0; i < 4; i++)
		{
			if (a[i] == 1)
			{
				chk++;
			}
		}
		if (chk == 4)
		{
			break;
		}
		chk = 0;

		for (int i = 0; i < 8; i++)
		{
			printf("%d ", a[i]);
		}
		printf("\n");
		
	}*/


	//3번

	scanf(" %d %d %d %d %d %d %d %d", &reg[0], &reg[1], &reg[2], &reg[3], &mem[0], &mem[1], &mem[2], &mem[3]);

	while (1)
	{
		
		scanf(" %d %d %d %d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &x1, &x2, &y1, &y2);
		for (int i = 0; i < 4; i++)
		{
			if (a[i] == 1)
			{
				chk++;
			}
			if (a[i] == 0)
			{
				chk2++;
			}
		}
		if (chk == 4)
		{
			break;
		}
		chk = 0;
		if (chk2 == 4)
		{
			load(x1, x2, y1, y2);
		}
		chk2 = 0;
	}
	printf("%d %d %d %d %d %d %d %d\n", reg[0], reg[1], reg[2], reg[3], mem[0], mem[1], mem[2], mem[3]);
	printf("\n");

}

void load(int x1, int x2, int y1, int y2)
{
	for (int i = 0; i < 8; i++)
	{
		if (y1 == 0 && y2 == 0)
		{
			if (x1 == 0 && x2 == 0)
			{
				reg[0] = mem[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				reg[0] = mem[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				reg[0] = mem[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				reg[0] = mem[3];
			}
		}
		if (y1 == 0 && y2 == 1)
		{
			if (x1 == 0 && x2 == 0)
			{
				reg[1] = mem[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				reg[1] = mem[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				reg[1] = mem[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				reg[1] = mem[3];
			}
		}
		if (y1 == 1 && y2 == 0)
		{
			if (x1 == 0 && x2 == 0)
			{
				reg[2] = mem[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				reg[2] = mem[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				reg[2] = mem[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				reg[2] = mem[3];
			}
		}
		if (y1 == 1 && y2 == 1)
		{
			if (x1 == 0 && x2 == 0)
			{
				reg[3] = mem[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				reg[3] = mem[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				reg[3] = mem[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				reg[3] = mem[3];
			}
		}
	}
}

문제 4

#include<stdio.h>

void load(int a, int b, int c, int d);
void add(int a, int b, int c, int d);
void mul(int a, int b, int c, int d);
void save(int a, int b, int c, int d);


int reg[4];
short mem[4];

void main()
{

	int a[8], chk = 0, chk2 = 0;
	int x1, x2, y1, y2;
	
	//1번
	printf("Team: 최현준 김경찬 변영무\n");

	
	/*
	while (4)
	{

		scanf(" %d %d %d %d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6], &a[7]);
		for (int i = 0; i < 4; i++)
		{
			if (a[i] == 1)
			{
				chk++;
			}
		}
		if (chk == 4)
		{
			break;
		}
		chk = 0;

		for (int i = 0; i < 8; i++)
		{
			printf("%d ", a[i]);
		}
		printf("\n");
		
	}*/


	/*

	scanf(" %d %d %d %d %d %d %d %d", &reg[0], &reg[1], &reg[2], &reg[3], &mem[0], &mem[1], &mem[2], &mem[3]);

	while (1)
	{
		
		scanf(" %d %d %d %d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &x1, &x2, &y1, &y2);
		for (int i = 0; i < 4; i++)
		{
			if (a[i] == 1)
			{
				chk++;
			}
			if (a[i] == 0)
			{
				chk2++;
			}
		}
		if (chk == 4)
		{
			break;
		}
		chk = 0;
		if (chk2 == 4)
		{
			load(x1, x2, y1, y2);
		}
		chk2 = 0;
	}
	printf("%d %d %d %d %d %d %d %d\n", reg[0], reg[1], reg[2], reg[3], mem[0], mem[1], mem[2], mem[3]);
	printf("\n");*/

	scanf(" %d %d %d %d %d %d %d %d", &reg[0], &reg[1], &reg[2], &reg[3], &mem[0], &mem[1], &mem[2], &mem[3]);
	while (1)
	{

		scanf(" %d %d %d %d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &x1, &x2, &y1, &y2);
		if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 0)
		{
			load(x1, x2, y1, y2);
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 0)
		{
			add(x1, x2, y1, y2);
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 1)
		{
			mul(x1, x2, y1, y2);
		}
		else if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1)
		{
			break;
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 1)
		{
			save(x1, x2, y1, y2);
		}
	}
	printf("%d %d %d %d %d %d %d %d\n", reg[0], reg[1], reg[2], reg[3], mem[0], mem[1], mem[2], mem[3]);
	printf("\n");
}

void load(int x1, int x2, int y1, int y2)
{
	for (int i = 0; i < 8; i++)
	{
		if (y1 == 0 && y2 == 0)
		{
			if (x1 == 0 && x2 == 0)
			{
				reg[0] = mem[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				reg[0] = mem[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				reg[0] = mem[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				reg[0] = mem[3];
			}
		}
		if (y1 == 0 && y2 == 1)
		{
			if (x1 == 0 && x2 == 0)
			{
				reg[1] = mem[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				reg[1] = mem[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				reg[1] = mem[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				reg[1] = mem[3];
			}
		}
		if (y1 == 1 && y2 == 0)
		{
			if (x1 == 0 && x2 == 0)
			{
				reg[2] = mem[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				reg[2] = mem[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				reg[2] = mem[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				reg[2] = mem[3];
			}
		}
		if (y1 == 1 && y2 == 1)
		{
			if (x1 == 0 && x2 == 0)
			{
				reg[3] = mem[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				reg[3] = mem[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				reg[3] = mem[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				reg[3] = mem[3];
			}
		}
	}
}

void add(int x1, int x2, int y1, int y2)
{
	if (x1 == 0 && x2 == 0)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[0] + reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[0] + reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[0] + reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[0] + reg[3];
		}
	}
	if (x1 == 0 && x2 == 1)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[1] + reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[1] + reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[1] + reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[1] + reg[3];
		}
	}
	if (x1 == 1 && x2 == 0)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[2] + reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[2] + reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[2] + reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[2] + reg[3];
		}
	}
	if (x1 == 1 && x2 == 1)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[3] + reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[3] + reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[3] + reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[3] + reg[3];
		}
	}
}

void mul(int x1, int x2, int y1, int y2)
{
	if (x1 == 0 && x2 == 0)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[0] * reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[0] * reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[0] * reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[0] * reg[3];
		}
	}
	if (x1 == 0 && x2 == 1)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[1] * reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[1] * reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[1] * reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[1] * reg[3];
		}
	}
	if (x1 == 1 && x2 == 0)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[2] * reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[2] * reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[2] * reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[2] * reg[3];
		}
	}
	if (x1 == 1 && x2 == 1)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[3] * reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[3] * reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[3] * reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[3] * reg[3];
		}
	}
}

void save(int x1, int x2, int y1, int y2)
{
	for (int i = 0; i < 8; i++)
	{
		if (y1 == 0 && y2 == 0)
		{
			if (x1 == 0 && x2 == 0)
			{
				mem[0] = reg[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				mem[0] = reg[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				mem[0] = reg[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				mem[0] = reg[3];
			}
		}
		if (y1 == 0 && y2 == 1)
		{
			if (x1 == 0 && x2 == 0)
			{
				mem[1] = reg[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				mem[1] = reg[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				mem[1] = reg[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				mem[1] = reg[3];
			}
		}
		if (y1 == 1 && y2 == 0)
		{
			if (x1 == 0 && x2 == 0)
			{
				mem[2] = reg[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				mem[2] = reg[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				mem[2] = reg[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				mem[2] = reg[3];
			}
		}
		if (y1 == 1 && y2 == 1)
		{
			if (x1 == 0 && x2 == 0)
			{
				mem[3] = reg[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				mem[3] = reg[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				mem[3] = reg[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				mem[3] = reg[3];
			}
		}
	}
}

문제 5

#include<stdio.h>

void load(int a, int b, int c, int d);
void add(int a, int b, int c, int d);
void mul(int a, int b, int c, int d);
void save(int a, int b, int c, int d);
void equal(int a, int b, int c, int d);


int reg[4], equ = 0;
short mem[4];

void main()
{

	int a[8], chk = 0, chk2 = 0;
	int x1, x2, y1, y2;

	//1번
	printf("Team: 최현준 김경찬 변영무\n");


	/*
	while (4)
	{

	scanf(" %d %d %d %d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6], &a[7]);
	for (int i = 0; i < 4; i++)
	{
	if (a[i] == 1)
	{
	chk++;
	}
	}
	if (chk == 4)
	{
	break;
	}
	chk = 0;

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

	}*/


	/*

	scanf(" %d %d %d %d %d %d %d %d", &reg[0], &reg[1], &reg[2], &reg[3], &mem[0], &mem[1], &mem[2], &mem[3]);

	while (1)
	{

	scanf(" %d %d %d %d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &x1, &x2, &y1, &y2);
	for (int i = 0; i < 4; i++)
	{
	if (a[i] == 1)
	{
	chk++;
	}
	if (a[i] == 0)
	{
	chk2++;
	}
	}
	if (chk == 4)
	{
	break;
	}
	chk = 0;
	if (chk2 == 4)
	{
	load(x1, x2, y1, y2);
	}
	chk2 = 0;
	}
	printf("%d %d %d %d %d %d %d %d\n", reg[0], reg[1], reg[2], reg[3], mem[0], mem[1], mem[2], mem[3]);
	printf("\n");*/
	/*
	scanf(" %d %d %d %d %d %d %d %d", &reg[0], &reg[1], &reg[2], &reg[3], &mem[0], &mem[1], &mem[2], &mem[3]);
	while (1)
	{

	scanf(" %d %d %d %d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &x1, &x2, &y1, &y2);
	if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 0)
	{
	load(x1, x2, y1, y2);
	}
	else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 0)
	{
	add(x1, x2, y1, y2);
	}
	else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 1)
	{
	mul(x1, x2, y1, y2);
	}
	else if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1)
	{
	break;
	}
	else if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 1)
	{
	save(x1, x2, y1, y2);
	}
	}
	printf("%d %d %d %d %d %d %d %d\n", reg[0], reg[1], reg[2], reg[3], mem[0], mem[1], mem[2], mem[3]);
	printf("\n");*/
	
	scanf(" %d %d %d %d %d %d %d %d", &reg[0], &reg[1], &reg[2], &reg[3], &mem[0], &mem[1], &mem[2], &mem[3]);
	while (1)
	{

		scanf(" %d %d %d %d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &x1, &x2, &y1, &y2);
		if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 0)
		{
			load(x1, x2, y1, y2);
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 0)
		{
			add(x1, x2, y1, y2);
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 1)
		{
			mul(x1, x2, y1, y2);
		}
		else if (a[0] == 1 && a[1] == 1 && a[2] == 1 && a[3] == 1)
		{
			break;
		}
		else if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 1)
		{
			save(x1, x2, y1, y2);
		}
		else if (a[0] == 0 && a[1] == 1 && a[2] == 0 && a[3] == 0)
		{
			equal(x1, x2, y1, y2);
		}
	}
	printf("%d %d %d %d %d %d %d %d\n", reg[0], reg[1], reg[2], reg[3], mem[0], mem[1], mem[2], mem[3]);
	printf("\n");
}

void load(int x1, int x2, int y1, int y2)
{
	for (int i = 0; i < 8; i++)
	{
		if (y1 == 0 && y2 == 0)
		{
			if (x1 == 0 && x2 == 0)
			{
				reg[0] = mem[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				reg[0] = mem[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				reg[0] = mem[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				reg[0] = mem[3];
			}
		}
		if (y1 == 0 && y2 == 1)
		{
			if (x1 == 0 && x2 == 0)
			{
				reg[1] = mem[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				reg[1] = mem[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				reg[1] = mem[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				reg[1] = mem[3];
			}
		}
		if (y1 == 1 && y2 == 0)
		{
			if (x1 == 0 && x2 == 0)
			{
				reg[2] = mem[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				reg[2] = mem[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				reg[2] = mem[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				reg[2] = mem[3];
			}
		}
		if (y1 == 1 && y2 == 1)
		{
			if (x1 == 0 && x2 == 0)
			{
				reg[3] = mem[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				reg[3] = mem[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				reg[3] = mem[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				reg[3] = mem[3];
			}
		}
	}
}

void add(int x1, int x2, int y1, int y2)
{
	if (x1 == 0 && x2 == 0)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[0] + reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[0] + reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[0] + reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[0] + reg[3];
		}
	}
	if (x1 == 0 && x2 == 1)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[1] + reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[1] + reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[1] + reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[1] + reg[3];
		}
	}
	if (x1 == 1 && x2 == 0)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[2] + reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[2] + reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[2] + reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[2] + reg[3];
		}
	}
	if (x1 == 1 && x2 == 1)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[3] + reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[3] + reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[3] + reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[3] + reg[3];
		}
	}
}

void mul(int x1, int x2, int y1, int y2)
{
	if (x1 == 0 && x2 == 0)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[0] * reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[0] * reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[0] * reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[0] * reg[3];
		}
	}
	if (x1 == 0 && x2 == 1)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[1] * reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[1] * reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[1] * reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[1] * reg[3];
		}
	}
	if (x1 == 1 && x2 == 0)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[2] * reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[2] * reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[2] * reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[2] * reg[3];
		}
	}
	if (x1 == 1 && x2 == 1)
	{
		if (y1 == 0 && y2 == 0)
		{
			reg[0] = reg[3] * reg[0];
		}
		if (y1 == 0 && y2 == 1)
		{
			reg[1] = reg[3] * reg[1];
		}
		if (y1 == 1 && y2 == 0)
		{
			reg[2] = reg[3] * reg[2];
		}
		if (y1 == 1 && y2 == 1)
		{
			reg[3] = reg[3] * reg[3];
		}
	}
}

void save(int x1, int x2, int y1, int y2)
{
	for (int i = 0; i < 8; i++)
	{
		if (y1 == 0 && y2 == 0)
		{
			if (x1 == 0 && x2 == 0)
			{
				mem[0] = reg[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				mem[0] = reg[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				mem[0] = reg[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				mem[0] = reg[3];
			}
		}
		if (y1 == 0 && y2 == 1)
		{
			if (x1 == 0 && x2 == 0)
			{
				mem[1] = reg[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				mem[1] = reg[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				mem[1] = reg[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				mem[1] = reg[3];
			}
		}
		if (y1 == 1 && y2 == 0)
		{
			if (x1 == 0 && x2 == 0)
			{
				mem[2] = reg[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				mem[2] = reg[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				mem[2] = reg[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				mem[2] = reg[3];
			}
		}
		if (y1 == 1 && y2 == 1)
		{
			if (x1 == 0 && x2 == 0)
			{
				mem[3] = reg[0];
			}
			if (x1 == 0 && x2 == 1)
			{
				mem[3] = reg[1];
			}
			if (x1 == 1 && x2 == 0)
			{
				mem[3] = reg[2];
			}
			if (x1 == 1 && x2 == 1)
			{
				mem[3] = reg[3];
			}
		}
	}
}

void equal(int x1, int x2, int y1, int y2)
{
	if (x1 == 0 && x2 == 0)
	{
		if (y1 == 0 && y2 == 0)
		{
			if (reg[0] != reg[0])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
		if (y1 == 0 && y2 == 1)
		{
			if (reg[0] != reg[1])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
		if (y1 == 1 && y2 == 0)
		{
			if (reg[0] != reg[1])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
		if (y1 == 1 && y2 == 1)
		{
			if (reg[1] != reg[1])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
	}
	if (x1 == 0 && x2 == 1)
	{
		if (y1 == 0 && y2 == 0)
		{
			if (reg[1] != reg[0])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
		if (y1 == 0 && y2 == 1)
		{
			if (reg[1] != reg[1])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
		if (y1 == 1 && y2 == 0)
		{
			if (reg[1] != reg[1])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
		if (y1 == 1 && y2 == 1)
		{
			if (reg[1] != reg[1])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
	}
	if (x1 == 1 && x2 == 0)
	{
		if (y1 == 0 && y2 == 0)
		{
			if (reg[2] != reg[0])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
		if (y1 == 0 && y2 == 1)
		{
			if (reg[2] != reg[1])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
		if (y1 == 1 && y2 == 0)
		{
			if (reg[2] != reg[1])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
		if (y1 == 1 && y2 == 1)
		{
			if (reg[2] != reg[1])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
	}
	if (x1 == 1 && x2 == 1)
	{
		if (y1 == 0 && y2 == 0)
		{
			if (reg[3] != reg[0])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
		if (y1 == 0 && y2 == 1)
		{
			if (reg[3] != reg[1])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
		if (y1 == 1 && y2 == 0)
		{
			if (reg[3] != reg[1])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
		if (y1 == 1 && y2 == 1)
		{
			if (reg[3] != reg[1])
			{
				equ = 0;
				printf("\n%d", equ);
			}
			else
			{
				equ = 1;
				printf("\n%d", equ);
			}
		}
	}
}

문제 6

여기에 코드를 넣어주세요

CodeRace CodeRace/2016