U E D R , A S I H C RSS

Code Race/2016/리바이

Difference between r1.9 and the current

@@ -120,7 +120,73 @@
}
== 문제 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]);
}
}
}
}}}


@@ -128,15 +194,420 @@

== 문제 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]


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");
	}
	
}

#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 a8,b8;
printf("TEAM : 장용운 새싹 1 이길상 새싹 2 김남효\n");
for (int i = 0; i < 8; i++)
{
scanf("%d", &bi);
}
mem00 = b4;
mem01 = b5;
mem10 = b6;
mem11 = b7;
reg00 = b0;
reg01 = b1;
reg10 = b2;
reg11 = b3;

while (1)
{

for (int i = 0; i < 8; i++)
{
scanf("%d", &ai);
}
for (int i = 0; i < 8; i++)
{
if (a0 == 1 && a1 == 1 && a2 == 1 && a3 == 1)
{
printf("%d %d %d %d %d %d %d %d", reg00, reg01, reg10, reg11, mem00, mem01, mem10, mem11);
return 0;
}
else
{
load(a4, a5, a6, a7);
}
}
}
}

문제 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]);
		}
	}
}

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:57
Processing time 0.0588 sec