#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long ull; typedef pair pii; int dx[] = {0, 0, 1, -1}; int dy[] = {1, -1, 0, 0}; int visited[105]; int t[105][105]; int from[105]; int n, end_sub; struct QData { int now; int time; }; struct QDataC { bool operator()(const QData &a, const QD..
#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair pii; int dx[] = {0 , 0 , 1 , -1}; int dy[] = {1 , -1 , 0 , 0}; template struct MAX_HEAP { vector heap; MAX_HEAP(){ heap.push_back(-1); } void add(T x) { heap.push_back(x); int c = heap.size() - 1; while(c > 1 && heap[c / 2] < heap[c]) { swap(h..
#include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long ull; typedef pair pii; int dx[] = {0, 0, 1, -1, 1, -1, 1, -1, 0}; int dy[] = {1, -1, 0, 0, 1, 1, -1, -1, 0}; int n; // size of board bool board[30][30]; // 어ㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓ 왔다 갔다 하는거 어케하누;; bool visited[30][30][30][30]; struct Pos { int x; int y; }..
#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair pii; int dx[] = {0 , 0 , 1 , -1}; int dy[] = {1 , -1 , 0 , 0}; template struct MIN_HEAP { vector heap; MIN_HEAP(){ heap.push_back(-1); } void add(T x) { heap.push_back(x); int c = heap.size() - 1; while(c > 1 && heap[c / 2] > heap[c]) { swap(heap[c / 2..
#include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair pi_i; const int MAXN = 100000, MAXM = 500000; vector paths[MAXN + 5]; bool visited[MAXN + 5]; void dfs(int now){ cout n >> m; for(int i = 0;i > from >> to; paths[from].push_back(to); paths[to].push_back(from); } for(int i = 1;i
#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long ull; typedef pair pii; typedef signed char i8; typedef short i16; typedef int i32; typedef long long i64; int dx[] = {0, 0, 1, -1}; int dy[] = {1, -1, 0, 0}; int m = 0; int r = 0; int rs[110]; int rt[110]; int memo[110]; int path[110]..
메모리 만들기에서 그랬던것 처럼 1bit Adder를 가로로 4개 붙여서 4bit Adder. 또 4bit adder를 아래로 붙여서 1 byte adder를 만들었다. ALU를 만들기 위한 한걸음이다! 초딩이 ALU를 만든다니.. 우리는 뭐하는 놈들일까?
전에만든 4bit 짜리 메모리를 8개 붙여서 address와 함게 제작했다. 그리고 위에걸 2개 붙여서 8byte짜리 메모리를 만들었다. 씃.. 이걸 메모리라고 부를 수 있는 크기인지는 모르겠다.
전에 만든 4byte 메모리의 저장하는 부품을 매우 작게 줄이고 더 크게 만들기 위해 1:2 Selector까지 만들었다. 이 둘을 합치면 얼마든지 크게 만들 수 있다. 4bit메모리 가지고 1byte메모리 만들어야되는데.. 다음에 만들자!