목록c++ (102)
DY의 세상구경
#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;int main(){ int N; int NoP[16]; scanf("%d", &N); NoP[0] = 2; //초기상태 한 변에 있는 점의 갯수 for (int i = 1; i 정사각형이고, 전체 점의 수는 한 변의 점의 수 * 다른 한 변의 점의 수 인데 두 변이 같으니 한 변의 점의 수의 제곱으로 보았다.한 변의 점의 수가 단계가 올라갈 수록 점 사이사이마다 생기니 기존 변에 점의 수가 N개면 다음번 변의 점의 수는 N + (N-1) = 2*N-1개로 계산해서 해결!
#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;int main(){ int T; // C는 센트 거스름돈. 1~500 scanf("%d", &T); int coin[3] = { 25, 10, 5 }; for (int i = 0; i 물론 본격적인 문제들에 비하면 쉽지만... 그래도 수학1 단계에 있는 문제라고 나누기같은걸 많이 시킨다.아직 식까지 세울 정도는 아닌 듯.큰 것 부터 주면 자연스럽게 가장 적은 동전으로 줄 수 있으니 큰 것 부터 나누면 된다.
#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;int main(){ int B; int N; // 최대 10억이 10진수로주어지므로 인트로 봐도 될듯. // 2 4 8 16 ... 1024 2048 ... 32768 65536... 1073741824 int len = 0; scanf("%d %d", &N, &B); long long digit = 1; while ( (N / digit) > 0) // B진법으로 바뀔 자릿수 체크 { digit *= B; } // 해당 digit은 N보다 커서 0이 나오므로 한번 다시 나눠줌. digit /= B; if (N == 0) { printf("0\n..
#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;int main(){ int B; char N[30]; // 최대 10억이므로 2^30쯤 하면 10억이 넘는듯 scanf("%s %d", N, &B); int len = 0; while (N[len] != '\0') { len++; } int ten = 0; for (int i = 0; i int('9')) num = int(N[i] - 'A') + 10; else num = int(N[i] - '0'); ten += num * loc; } printf("%d\n", ten); return 0;}오랜만에 알고리즘 풀이. 한달에 한번꼴로 풀고는 ..
#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;int main(){ // 0은 안써야지 int map[101][101] = { 0 }; //무식하게 풀어보기. 종이를 붙인 영역 너비 int black_area = 0; //색종이 수 int N; scanf("%d", &N); int x, y; // 10x10의 색종이를 붙임. for (int i = 0; i 조금 무식하게 푼것 같다.전체 맵이 한정되어 있으므로, 맵을 0으로 초기화하고, 받은 점 위치로부터 가로세로 10짜리 색종이가 들어오므로 무식하게 한칸씩 가면서 1로 만들고 이미 1이면 이미 색종이가 있는 영역으로 보았다.
#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;int main(){ // 총5줄의 입력. 1~15까지의 글자. char line[16]; char sero[5][16]; //입력 for (int i = 0; i 사실 어려운건아니고 각 라인마다 글자의 수가 다를 수 있으니 거기에 대한 처리만 적당히 해주면 되는 문제였던 것 같다. 나의 경우 문자열의 마지막을 뜻하는 \0를 써주었다. 이게 아닌 다른거라도 상관없을 듯 하다.
#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;#define N 9int main(){ int board[N][N]; int MAX = 0; int maxi = -1, maxj = -1; for (int i = 0; i 이 문제는 딱히 어떤걸 바라고 낸 문제인지 잘 모르겠다. 내가 모르는 뭔가 있을것 같은데 딱히 생각이 나지 않아서 값이 입력될떄마다 갱신하는 방식으로 풀었다.
#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;int main(){ int N, M; scanf("%d %d", &N, &M); int A[100][100]; int B[100][100]; for (int i = 0; i 심화도 지나가고 2차원 배열로 왔다.for문 두번 중첩하는것 말고는 어렵지 않은 문제.
