https://www.acmicpc.net/problem/17619

 

17619번: 개구리 점프

첫 번째 줄에 통나무 개수 N과 질문의 개수 Q가 주어진다. 다음 N개의 줄에 각 통나무에 x1, x2, y의 세 정수 좌표가 주어진다. 주어진 통나무는 두 점 (x1, y)와 (x2, y)를 잇는 형태이다. (x1 < x2) 모든 좌표는 0이상 109이하이다. 통나무들은 주어진 순서대로 1번부터 번호가 붙어 있다. 서로 다른 두 통나무는 (끝점에서도) 만나지 않는다. 다음 Q개의 줄에 서로 다른 두 통나무의 번호가 주어진다. (1 ≤ N ≤ 100,00

www.acmicpc.net

 

 

 

#include<bits/stdc++.h>

using namespace std;

typedef struct wood
{
	int x1, x2, y;
	int num;
}wd;


bool cmp(wd a, wd b)
{
	return a.x1 < b.x1;
}

int main(void)
{
	int n,q;
	int qus_1, qus_2;
	int now_group = 1;
	int group[100] = {0,};
	int max_x2=0;
	scanf("%d %d", &n, &q);

	vector<wd> v;
	wd temp;

	for(int i=1; i<=n; i++)	//입력.
	{
		temp.num = i;
		scanf("%d %d %d", &temp.x1, &temp.x2, &temp.y);
		v.push_back(temp);
	}

	sort(v.begin(), v.end(), cmp);	//x1의 순서로 정렬.

	for(int i=0; i<n; i++)
	{
	    group[v[i].num] = now_group;
        max_x2=v[i].x2;

        if(i==n-1)
        {
            break;
        }

        for(int j = i+1; max_x2>=v[j].x1; j++)
        {
            printf("=1.1= %d : %d\n", max_x2, v[j].x1);
            if(v[j].x2 > max_x2)
            {
                max_x2 = v[j].x2;
            }

            group[v[j].num] = now_group;
            i++;
            printf("=1.2= %d : %d\n", max_x2, v[j].x1);
        }
        now_group++;
	}



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

	for(int i=0; i<q; i++)
	{
		scanf("%d %d", &qus_1, &qus_2);
		if(group[qus_1] == group[qus_2])	//같은 그룹이면 연결되어있다.
		{
			printf("1\n");
		}
		else
		{
			printf("0\n");
		}
	}

	return 0;
}

 

//문자열 1 : 형성평가 1 

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char a, b;
   
   scanf("%c %c", &a, &b);
   printf("%d %d", a+b, abs(a-b));
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=82&sca=10e0

 

JUNGOL | 문자열1 - 형성평가1 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

반복제어문2  (0) 2020.12.29
반복제어문1  (0) 2020.12.29
184 : 문자열1 - 형성평가3  (0) 2020.04.04
185 : 문자열1 - 형성평가4  (0) 2020.04.04
186 : 문자열1 - 형성평가5  (0) 2020.04.04

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=83&sca=10e0

 

JUNGOL | 문자열1 - 형성평가2 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

//문자열 1 : 형성평가 2

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char a[100];
   
   scanf("%s", &a);
   for(int i = 0; i < 5; i++){
      printf("%c", a[i]);
   }
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=84&sca=10e0

 

JUNGOL | 문자열1 - 형성평가3 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

//문자열 1 : 형성평가 3

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char n[100];
   
   scanf("%s", n);
   int count = strlen(n);
   
   for(int i = 0; i < count; i++){
   
      if(n[i] >= 'A' && n[i] <= 'Z'){
           printf("%c", n[i]+32);
       }
         else if(n[i] >= 'a' && n[i] <= 'z'){
           printf("%c", n[i]);
       }
        else if(n[i] >= '0' && n[i] <= '9'){
           printf("%c", n[i]);
       }
   }
}

 

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

반복제어문1  (0) 2020.12.29
182 : 문자열1 - 형성평가1  (0) 2020.04.04
185 : 문자열1 - 형성평가4  (0) 2020.04.04
186 : 문자열1 - 형성평가5  (0) 2020.04.04
188 : 문자열1 - 형성평가7  (0) 2020.04.04

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=85&sca=10e0

 

JUNGOL | 문자열1 - 형성평가4 > 문제은행

단어와 문자 한 개를 입력받아서 단어에서 입력받은 문자와 같은 문자를 찾아서 그 위치를 출력하는 프로그램을 작성하시오. 단어에서 첫 번째 문자의 위치는 0으로 하고 찾는 문자가 여러 개일 때는 처음 나오는 위치를 출력한다. 만약 찾는 문자가 없을 때는 "No"라고 출력한다. 대소문자는 구별되며 단어는 100자 이하이다.

www.jungol.co.kr

//문자열 1 : 형성평가 4

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char n[100];
   char a;
   
   scanf("%s", &n);
   scanf("%c", &a);
   int count = strlen(n);
   int flag = 0;
   int temp = 0;
   
   for(int i = 0; i < count; i++){
      if(n[i] == a){
         flag = 1;
         break;
      }
      temp++;
   }
   if(flag == 1)   printf("%d", temp);
   else printf("No");
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=86&sca=10e0

 

JUNGOL | 문자열1 - 형성평가5 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

//문자열 1 : 형성평가 5

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char a[100], b[100];
   
   scanf("%s %s", &a, &b);
   
   int len_a = strlen(a);
   int len_b = strlen(b);
   
   if(len_a > len_b){
      printf("%d", strlen(a));
   }
   
   else {
      printf("%d", strlen(b));
   }
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=88&sca=10e0

 

JUNGOL | 문자열1 - 형성평가7 > 문제은행

공백을 포함한 문자열을 입력받아 다음과 같이 분리하여 번호와 함께 출력하는 프로그램을 작성하시오. 문자열의 길이는 100자 이하이다. * 문장 입력할 때 gets()함수 대신 fgets() 함수를 사용하세요. C++14 적용!​

www.jungol.co.kr

//문자열 1 : 형성평가 7

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char n[100];
   char temp[100];
   int count = 1;
   
   gets(n);
   printf("1. ");
   
   for(int i = 0; i <= strlen(n); i++){
      printf("%c", n[i]);
      if(n[i] == ' '){
         count+=1;
         printf("\n%d. ", count);
      }
   }
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=242&sca=10f0

 

JUNGOL | 문자열2 - 자가진단4 > 문제은행

문자열을 선언하고 다음과 같이 "Hong Gil Dong"이라는 이름을 복사하여 저장한 후 출력하는 프로그램을 작성하시오.

www.jungol.co.kr

 

//문자열 2 : 자가진단 4 

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char a[100]; 
   char b[100];
   
   gets(a);
   strcpy(b, a);
   printf("%s", b);
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=243&sca=10f0

 

JUNGOL | 문자열2 - 자가진단5 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

//문자열 2 : 자가진단 5

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char n[20];
   char a[20] = "fighting";
   
   scanf("%s", &n);
   printf("%s", strcat(n, a));
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=87&sca=10e0

 

JUNGOL | 문자열1 - 형성평가6 > 문제은행

문자열(100자 이하)을 입력받은 후 정수를 입력받아 해당위치의 문자를 제거하고 출력하는 작업을 반복하다가 문자 1개가 남으면 종료하는 프로그램을 작성하시오. 첫 번째 문자의 위치는 1이며 만약 입력받은 번호가 문자열의 길이 이상이면 마지막 문자를 제거한다. * 입출력예에서 진한글씨가 출력

www.jungol.co.kr

 

 

//문자열 1 : 형성평가 6
#include <bits/stdc++.h>
using namespace std;

int main()
{
    char in[100];
    char temp[100];
    int n = 0;

    gets(in);
    while(strlen(in) != 1){
        scanf("%d", &n);
        if(n > strlen(in)){
            in[strlen(in)-1] = NULL;
        }
        else{
            int j = 0;
            for(int i = 0; i <= strlen(in); i++){
                if(i+1 != n)    temp[j++] = in[i];
            }
            strcpy(in, temp);
        }

        printf("%s \n", in);

    }
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=244&sca=10f0

 

JUNGOL | 문자열2 - 자가진단6 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

//문자열 2 : 자가진단 6
#include <bits/stdc++.h>
using namespace std;

int main()
{
    char a[100];
    char b[100];
    char temp[100]={0,};

    scanf("%s %s", &a, &b);
    for(int i = 0; i < 2; i++){
        b[i] = a[i];
        temp[i] = a[i];
    }
    strcat(b, temp);
    printf("%s", b);

}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=245&sca=10f0

 

JUNGOL | 문자열2 - 자가진단7 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

//문자열 2 : 자가진단 7
#include <bits/stdc++.h>
using namespace std;

int main()
{
    char in[100];
    gets(in);

    if(strchr(in, 'c') != 0)   printf("YES ");
    else    printf("NO ");

    if(strstr(in, "ab") != NULL)   printf("YES ");
    else    printf("NO ");
}
//문자열 2 : 자가진단 7
#include <bits/stdc++.h>
using namespace std;

int main()
{
    char in[100];
    int flag = 0, flag_2 = 0;

    gets(in);
    for(int i = 0; i < strlen(in); i++){
        if(in[i] == 'c'){
            flag = 1;
        }

        else if(in[i] == 'a'){
            if(in[i+1] == 'b'){
                flag_2 = 1;
            }
        }
    }
    if(flag == 1)   printf("YES ");
    else    printf("NO ");

    if(flag_2 == 1)   printf("YES ");
    else    printf("NO ");
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=246&sca=10f0

 

JUNGOL | 문자열2 - 자가진단8 > 문제은행

세 개의 단어를 입력받아 아스키코드(사전) 순으로 가장 먼저 나오는 단어를 출력하는 프로그램을 작성하시오. 각 단어의 길이는 1이상 10 이하이다.

www.jungol.co.kr

 

//문자열 2 : 자가진단 8
#include <bits/stdc++.h>
using namespace std;

int str_com(char a[], char b[]){
    for(int i = 0; i <= 100; i++){
        if(a[i] > b[i]) return 1;
        else if(a[i] < b[i]) return -1;
    }
}

int main()
{
    char a[100], b[100], c[100];

    scanf("%s %s %s", &a, &b, &c);
    int res = str_com(a, b);
    int res_2 = 0;

    if(res == 1){
        if(str_com(b, c) == 1) printf("%s \n",c );
        else printf("%s \n",b );
    }
    else{
        if(str_com(a, c) == 1) printf("%s \n", c);
        else printf("%s \n", a);
    }

}
//문자열 2 : 자가진단 8
#include <bits/stdc++.h>
using namespace std;
int main()
{
    char a[100], b[100], c[100];

    scanf("%s %s %s", &a, &b, &c);
    int res = strcmp(a, b);
    int res_2 = 0;

    if(res > 0){
        if(strcmp(b, c) > 0) printf("%s \n",c );
        else printf("%s \n",b );
    }
    else{
        if(strcmp(a, c) > 0) printf("%s \n", c);
        else printf("%s \n", a);
    }

}

 

 

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=236&sca=10e0

 

JUNGOL | 문자열1 - 자가진단7 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

 

#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
    int i,len;
    char s[101];
    scanf("%s",s);
    len=strlen(s);
    for(i=0;i<len;i++){
        if(isalpha(s[i])){
            s[i]=toupper(s[i]);
            printf("%c",s[i]);
        }
    }
    printf("\n");
    return 0;
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=237&sca=10e0

 

JUNGOL | 문자열1 - 자가진단8 > 문제은행

공백을 포함한 100글자 이하의 문자열을 입력받아 문장을 이루는 단어의 개수를 출력하는 프로그램을 작성하시오. * 문장입력 할 때 gets()함수 대신 fgets() 함수를 사용하세요. C++14 적용!​

www.jungol.co.kr

 

 

#include <stdio.h>
#include <string.h>
int main()
{
    int i,a=0,len;
    char s[101];
    gets(s);
    len=strlen(s);
    for(i=0;i<len;i++){
        if(s[i]== ' ')
            a++;
    }
    printf("%d\n",a+1);
    return 0;
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=235&sca=10e0

 

JUNGOL | 문자열1 - 자가진단6 > 문제은행

문자를 입력받아 알파벳 문자인 경우에는 그대로 출력하고 숫자인 경우는 아스키코드값을 출력하는 작업을 반복하다가 기타의 문자가 입력되면 종료하는 프로그램을 작성하시오. * 입출력예에서 진한글씨가 출력

www.jungol.co.kr

//문자열1 - 자가진단6
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
    int i,b,c;
    char a;
    while(1){
        scanf(" %c",&a);
        if(isalpha(a))
        {
            printf("%c \n",a);
        }
        else if('0'<=a&&a<='9')
        {
            printf("%d \n",a);
        }
        else
        {
            return 0;
        }
    }
    return 0;
}

 

https://www.acmicpc.net/problem/15971

 

15971번: 두 로봇

2018년 강원도에서 새로운 동굴이 발견되었다. 이 동굴에는 총 N개의 넓은 방이 존재하며 좁은 통로로 서로 연결되어 있는 것으로 밝혀졌다. N개의 방은 1번부터 N번까지의 번호를 붙여 1번 방, 2번 방, …, N번 방으로 부른다. 통로는 정확히 N-1개가 발견되었는데, 각각 서로 다른 두 방 사이를 연결시켜 주며 중간에 다른 통로와 이어지는 경우는 없다고 한다. 또한 이 통로들을 이용하여 임의의 두 방 사이를 이동하는 것이 가능하며, 임의의 두 방 사

www.acmicpc.net

 

 

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
/*
5 1 5
1 2 1
2 3 2
3 4 3
4 5 4
*/
int vi[100010],max1,tot;
vector <pair<int,int>> v[100010];

void dfs(int s, int e, int lmax, int l)
{
    if(s==e) {
        max1=lmax;
        tot=l;
    }
    else{
        vi[s]++;
        for(int i=0;i<v[s].size();i++)
        {
            if(vi[v[s][i].first]==0)
            {
                int last=lmax>v[s][i].second?lmax:v[s][i].second;
                dfs(v[s][i].first,e,last,l+v[s][i].second);
            }
        }
    }

}
int main()
{
    int r,r1,r2,i,s,e,d;

    scanf("%d %d %d",&r,&r1,&r2);
    for(i=1;i<r;i++)
    {
        scanf("%d %d %d",&s,&e,&d);
        v[s].push_back(make_pair(e,d));
        v[e].push_back(make_pair(s,d));
    }
    dfs(r1,r2,0,0);
    printf("%d",tot-max1);
    return 0;
}

https://www.acmicpc.net/problem/15973

 

15973번: 두 박스

표준 입력으로 두 박스의 정보가 한 줄에 하나씩 주어진다. 각 박스의 정보는 왼쪽 아래 꼭짓점 좌표 (x1, y1)과 오른쪽 위 꼭짓점 좌표 (x2, y2)로 구성되는데 이들 좌푯값 x1, y1, x2, y2 (x1 < x2, y1 < y2)가 공백을 사이에 두고 주어진다.

www.acmicpc.net

 

 

https://www.acmicpc.net/problem/15973
두박스 - 정올 2018 년도 중등 전국
#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int a1, b1, a2, b2, x1, y1, x2, y2,i;
    int j,arr[100][100]={0,},cnt=0,f=0,l=0,k=0,g=0;
    scanf("%d %d %d %d %d %d %d %d",
          &a1,&b1,&a2,&b2,&x1,&y1,&x2,&y2);

    i=a1>x1 ?a1 : x1;
    j=a2>x2 ? x2 : a2;
    f=j-i;
    k=b1>y1?b1:y1;
    l=b2>y2?y2:b2;
    g=l-k;
    printf("== %d  %d\n", f, g);
    if(f>0 && g>0) puts("FACE");
    if((f>0 && g==0) || (f==0 && g>0)) puts("LINE");
    if(f<0 || g<0) puts("NULL");
    if(f==0 && g==0) puts("POINT");
    return 0;
}

"검색하고 싶은 영어"

 

예를들어 현재완료문장에 ago 라는 단어가 쓰이는지 아닌지 궁금할때!!

검색해보자

 

 

 

결과값은 없다고 나온다. 그렇다면 잘 못쓰인 문장!

아래 설명을 보면 ago가 아닌 for 이 들어간 문장을 볼 수 있다.

 

그리고 단순 과거에 ago 를 써보니 검색결과가 나옴.

내용을 보면 어떻게 쓰이는지 알 수 있다.

 

그렇다면 이번엔 for을 넣어서 다시 검색 해보자.

 

검색 결과는 27,600개

생각 보다 많지 않네??

 

장소와 시간에 제약을 두다보니 검색결과가 생각 보다 많지 않다.

 

이럴때 * 를 쓰면 됨!

 

제약을 두고 싶지 않은 곳에 *를 쓰고 검색

 

아까 보다 훨씬 더 많은 결과를 얻을 수 있다.

 

 

이거 말고도 

 

자주쓰는 구글 사전기능

 

항상 영영으로 먼저 보고 그래도 모를땐 한글사전을 보는 편

 

 

구글 이미지로 단어 알기

 

 

그리고 

 

영국에서 생활할때 유용하게 썻었는데 

how to를 이용해 여러가지 상황에서 쓸수 있는 표현을 알아볼수도 있다

 

특히 아이들 학교에서 parents evenign 이라고 정기적으로 상담을 하는데 

멘붕 올뻔했던 나를 구해 줬던 ㅎㅎㅎ

상담 가기 전 질문들이나 영어표현, 여러가지 팁들을 정말 많이 얻을 수 있다.^^

 

 

해외생활할때,영어공부할때, 영작할때, 영어로 표현하고 싶은 말이 있을때 등등

구글하나로도 아주 유용하게 공부 할 수 있다는^^

●주어(S)+동사(V)+간접목적어(I.O)+직접목적어(D.O)

 

4형식에는 간접목적어,직접목적어 두개의 목적어를 필요로 하는 수여동사가 쓰인다.

 

수여란  ~에게 ~을 주다라는 의미. 

 

간접목적어 자리에는 주로 받는 사람, 직접목적어 자리에는 사물이 온다.

 

She bought me an expensive watch. 

그녀는 사줬다 나에게 비싼 시계를

 

My friend gave me a letter.

나의 친구는 주었다 나에게 편지를

 

I asked teacher a few questions.

나는 물었다 선생님에게 몇가지 질문을

 

He sometimes writes his friend an email.

그는 때떄로 쓴다 그의 친구에게 메일을

 

He handed me some money.

그는 건네줬다 나에게 약간의 돈을

 

Did she show you the picture?

그녀가 보여줬니 너에게 그림을?

 

He taught us English.

그는 가르쳐 줬다 우리에게 영어를

 

They didn't tell me any secret

그들은 말해주지 않았어 나에게 어떠한 비밀도

 

My brother never lend anyone his new brand car.

나의 남동생은 결코 빌려주지 않아 누구에게도 그의 새차를

 

★수여동사로 착각하기 쉬운 완전 타동사

4형식에 쓰이지 않음

 

announce(~을 발표하다)

explain(~을 설명하다)

suggest(~을 제안하다)

confess(~을 고백하다)

complain(~을 불평하다)

declare(~을 선언하다)

mention(~을 언급하다)

propose(~을 제안하다)

 

The Ministy of Education announced a new education policy to the public.

교육부는 발표했다 새로운 교육정책을 대중들에게

 

She explained about the project to me.

그녀는 설명했다 그 프로젝트에 대해 나에게

 

He suggested a great idea to them.

그는 제안했다 좋은 아이디어를 그들에게

 

I complained to him about her bad manners.

나는 불평했어 그에게 그녀의 나쁜 매너를

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

회전식 압축기

 

 

원심식 압축기

 

https://www.youtube.com/watch?v=VrXflBPzPsI&list=PLET33NPVBMtSSitKC7SbjIOnwMxMakOLm&index=33

 

 

 

 

 

 

https://www.youtube.com/watch?v=PXCEZd2bFd4&list=PLET33NPVBMtSSitKC7SbjIOnwMxMakOLm&index=32

 

 

 

 

압축기 - 체적식

 

압축기 - 원심식(터보식)

압축기 - 개방식 / 밀폐식

 

회전식 압축기

 

 

스크류압축기

 

2단압축 1단 팽창

 

냉동효과

냉동능력

 

 

소요일량

 

 

 COP

중간압력

 

 

2단 압축 2단 팽창

 

2.2.1 부분집합 생성하기

 

vector <int > subset;
void search(int k){
	if(k == n+1){
    	//부분집합을 구한 상태임.
    }
    else{
    	//k를 부분집합에 포함시킨다.
        subset.push_back(k);
        search(k+1);
        subset.pop_back();
        //k를 부분집합에 포함시키지 않는다.
        search(k+1);
    }
}

 

 

2.2.2 순열 생성하기

vector <int> permutation;
bool chosen[n+1];

void search(){
	if(permutation.size() == n){
    	//순열을 만든 상태임
    }
   	else{
    	for(int i = 1; i <= n; i ++){
        	if(chosen[i]) continue;
            chosen[i] = true;
            permutation.push_back(i);
            search();
            chosen[i] = false;
            permutation.pop_back(i);
        }
    }
}


C++ 표준 라이브러리 next_permutation사용하기

for(int i = 1; i <=n; i ++){
	permutation.push_back(i);
}

do{
	//
}while(next_permutation(permutation.begin(), permutation.end());

#include <bits/stdc++.h>

표준 라이브러리 전체를 포함시키는 g++컴파일러의 기능이다. 이 것을 사용하면 iostream, vecotr, algorith 등의 라이브러리를 개별적으로 포함시키지 않다도 사용가능하다.

 

 

string s;

getline(cin, s)

입력 한줄을 통째로, 공백을 포함한 채로 읽어 들이는 방법

 

 

while(cin >> x)

만일 데이터의 양을 사전에 알수 없다면 사용.

 

 

freopen("input.txt", "r", stdin);

freopen("output.txt", "w", stdout);

몇몇 대회 시스템은 입력과 출력을 위해 파일을 사용하기도 한다. 이를 간단하게 처리하는 방법은 평소처럼 표준스트림을 사용하는 코드를 작성한 후, 위 두줄을 코드의 시작 부분에 추가한다.

 

 

ios::sync_with_stdio(0);

cin.tie(0);

코드 시작부분에 위 코드를 넣으면 입력과 출력을 좀더 효율적으로 할 수 있다.

단, 이코드를 사용했을 때는 scanf, printf와 같은 C언어 입출력 함수를 C++입출력 함수와 동시에 사용할 수 없다.

 

"\n" vs endl

개행 문자 "\n"는  endl보다 빠르다. 이는 endl을 상ㅇ하면 명시적으로 flush가 일어나기 때문이다.

 

 

long long x = 123456789123456789LL;

int 범위(32bits) = -2 * 10의 9승 ~  2 * 10의 9승

long long범위(64bits) = -9 * 10의 18승 ~ 9 * 10의 18승

 

 

int a = 123456789;

long long b = a*a;

cout << b << "\n";  //-1757895751

"a*a"를 저장하는 변수는 long long이지만, 계산은 결과가 int으로 되기때문에 에러를 유발한다.

a자료형을 long long으로 바꾸던지, (long long )a*a 으로 코드를 수정해야 한다.

 

나머지 연산 - skip

 

 

if(abs(a-b) < 1e-9){

     // a와 b가 일치한다

}

부동 소수점 실수를 == 연산자를 이용하여 비교하는 것은 위험한데, 이는 비교하는 값이 실제로는 일치하지만, 정밀도 오류로 인해 다르다는 결과가 나올 수도 있기 때문이다. 좀더 나은 방법은 두 실수의 차이가 x보다 작을 때 서로 일치한다고 판단하는 것이 좋다.

 

 

 

 

https://www.acmicpc.net/problem/17618

 

17618번: 신기한 수

평소에 수에 대한 관심이 많은 아이인 민철이는 오늘도 노트에 연필로 수를 더하거나 빼거나 곱하거나 나눠보면서 시간을 보내고 있다. 그러다가 18이라는 수는 신기한 성질을 가진다는 것을 알아냈다. 18을 이루는 각 자릿수인 1과 8을 합한 9는 18의 약수가 된다. 민철이는 18과 같이 모든 자릿수의 합으로 나누어지는 수를 여러 개 더 찾아냈는데, 12, 21도 그런 신기한 수였다. 민철이는 이렇게 모든 자릿수의 합으로 나누어지는 수를 “신기한 수”라고 부

www.acmicpc.net

 

 

 

#include<bits/stdc++.h>
using namespace std;

int sum; 
void Div_sum(int num)
{
    if(num == 0)
    {
        return;
    }

    sum+=(num%10);
    Div_sum(num/10);
}

int main(void)
{
    int n;
    int cnt=0;
    scanf("%d", &n);

    for(int i=1; i<=n; i++)
    {
        Div_sum(i);
        if((i%sum) == 0)
        {
            cnt++;
        }
        sum = 0;
    }

    printf("%d", cnt);

    return 0;
}

 

 

#include <bits/stdc++.h>
using namespace std;

int main() {
  int a;
  cin >> a;
  int cnt = 0;
  for(int i=1; i <=a; i ++)
  {
    int sum = 0;
    int temp = i;
    while(temp){
      sum = sum + temp%10;
      temp = temp / 10;
    }
    //cout << "== " << sum << "\n";
    if( i % sum == 0) cnt ++;
  }

  cout << cnt;
  
}

아...

돌밥돌밥돌밥 ㅋㅋㅋ

코로나 이눔 때매 매일매일 주방 풀 가동;;;

 

오늘은 아이들 아빠도 집에 있고 

날도 살짝이 따숩고ㅎㅎ

갑자기 새콤달콤 비빔국수가 땡겨 점심으로 해먹기로~

 

이렇게 갑자기 땡길때 후다닥 해먹을려구 며칠전 양념장을 미리 만들어 놓았다

미리 만들어 놓으면 숙성이 되서 더 맛도 좋음^^

 

양념장

고추1, 고춧가루1, 간장1, 매실액1, 설탕1, 식초1 (새콤하게 먹을려면) 양은 숟가락이든 컵이든 동일하게

다진마늘 한스푼, 참기름 한스푼( 참기름은 미리 안넣고 국수 만들어 먹을때 바로 넣어 주면 좀 더 고소하다.)

보통은 눈대중으로  대~충 넣어서 맛보며 조절 해준다 ㅎㅎ

 

 

이렇게 만들어서 냉장고에 보관해 놓고 비빔국수 땡기면 국수만 삶아서 후다닥 해먹을 수 있음

 

 

냉장고에 있던 오이와 김치 준비해서 국수랑 맛있게 비벼줌

무생채로 있길래 같이 떨이 ㅋㅋ

 

삼겹이가 빠지만 섭하지 ㅎㅎ

언제 먹어도 맛있는 환상적인 조합이다^^

 

 

몇주째 집콕에 돌밥만 하며 지내는데 안나가는것도 습관되서 그런지 이제는 나가는게 슬 귀찮아 진다는ㅡㅡ;;

봄이 오는지 꽃이 피는지 어쩐지도 모르겠고 ;;;

장은 인터넷으로 보고 쓰레기도 밤에 나가서 버리니 ㅋㅋㅋ

그나마 출퇴근 하고 있는 신랑이 엇그제 밖에 하얀꽃이 꽤 피었더라고

(무슨꽃인지 모르던데 오늘 나가서 보니 목련ㅋㅋ)

주말에 드라이브나 갔다오자고 했었는데

 

마침 오늘도 집에만 있기엔,,,미세먼지도 없고

날씨도 어찌 이리 좋을꼬~ㅎㅎㅎ

한창 뛰어 놀아야 할 겸댕이들도 집에만 있으니 면역력 떨어질까 걱정도 되고 ㅠㅠ

마스크 끼고 다같이 출동~!

드라이브 갔다가 사회적 거리 두기에 충분히 사람도 없어서 ㅋㅋ 가볍게 산책도 하고 

오랜만에 바깥바람 쐬니 좋다.

 

+ Recent posts