var n,m,i,j,k,f,p:int64;a:array[1..2000]of string;x,y,z:string;beginp:=1;a[1]:='ChongChong';readln(n);for i:=1 to n do beginreadln(z); //문자열 두개 입력받기m:=length(z);f:=0;x:='';y:='';for j:=1 to m do begin //문자열을 공백기준으로 두개로 나누기if z[j]=' ' then begin f:=1;endelse begin if f=0 then x+=z[j] else y+=z[j];end;end;f:=0;k:=0;for j:=1 to p do begin //춤을 추는 사람이 있는지 확인 if x=a[j] then f+=1; if y=a[j] then k+=1;..

var n,m,i,j,x,g:int64;a:array[0..9999]of integer;beginreadln(n,m); //입력g:=n div 2;n-=1; //shell sort 준비for i:=0 to n do read(a[i]); //책들의 위치들을 배열로 입력받음while 1=1 do begin //shell sort : 오름차순 정렬if (g mod 2)=0 then g+=1;for i:=g to n do beginj:=i-g;x:=a[i];while j>=0 do beginif a[j]>x then a[j+g]:=a[j] else break;j-=g;end;a[j+g]:=x;end;if g=1 then break;g:= g div 2;end;x:=0;n+=1;i:=0; //음수값부터 이동거리 ..
var n,i,j,k,g,x,y,w:int64;a,b:array[0..49]of int64;s:array[0..49]of string;z:string;beginreadln(n);n-=1;for i:=0 to n do readln(s[i]); //문자열 n개 입력 받고 문자열 배열에 저장for i:=0 to n do begin //문자열 한개씩 길이와, 숫자의 합을 구해줌 a[i]:=length(s[i]); //길이 b[i]:=0; //숫자의 합을 담을 배열을 초기화 for j:=1 to a[i] do if (s[i][j]>='0') and (s[i][j]=0 do beginw:=0;if a[j]>x then w:=1 //앞에 있는 것이 더 길이가 길다면else if a[j]=x then begin //..

var x1,x2,x3,x4,y1,y2,y3,y4,w,h,a:int64;begina:=0;readln(x1,y1,x2,y2);readln(x3,y3,x4,y4);read(w,h);if (x2-x1>=w) then begin if (y3-y1>=h) or (y2-y4>=h) then a:=1;end;if (y2-y1>=h) then begin if (x3-x1>=w) or (x2-x4>=w) then a:=1;end;if a=0 then write('No') else write('Yes');end. 풀이 : 기하학 Graveyard 내부에 Chapel 이 있으며, 우리는 Graveyard 내부에서 Chapel의 영역을 침범하지 않은채 Grave을 추가할 수 있는지를 알아보아야 합니다. 두가지 방향에서 바..

var a,b,c,d,e,f,m,x,y:int64;beginx:=0;readln(a,b);readln(c,d);read(e,f);//0번 : 세개를 나열if(a=c) and (a=e) and (a=b+d+f) then x:=1;if(a=c) and (a=f) and (a=b+d+e) then x:=1;if(a=d) and (a=e) and (a=b+c+f) then x:=1;if(a=d) and (a=f) and (a=b+c+e) then x:=1;if(b=c) and (b=e) and (b=a+d+f) then x:=1;if(b=c) and (b=f) and (b=a+d+e) then x:=1;if(b=d) and (b=e) and (b=a+c+f) then x:=1;if(b=d) and (b=f) a..
var n,i,j:int64;d:array[1..2,1..30]of real;x,y,z,a:real;beginreadln(n);x:=0;y:=0;for i:=1 to n do begin readln(d[1][i],d[2][i]); x+=d[1][i]; y+=d[2][i];end; writeln(x:0:0,' ',y:0:0);a:=1e9;for i:=1 to n do begin x:=0;y:=0; for j:=1 to n do begin if(ij) then begin x+=d[1][j]; y+=d[2][j]; end; end; z:=x*x+y*y; z:=sqrt(z); if a>z then a:=z;end; write(a:0:2);end. 풀이 : 브루트 포스 0. 선분을 입력받습니다. 그러면서 ..

var n,i:int64;v0,th,x1,h1,h2,t,c,s,y:real;beginreadln(n);for i:=1 to n do begin readln(v0,th,x1,h1,h2); th:=(th*PI)/180; s:=sin(th); c:=cos(th); t:=(x1/(v0*c)); y:=v0*t*s-(9.81*t*t)/2; if (h1+1>y) or (h2-1 풀이 : 주어진 공식에 맞춰 변수를 끼어 넣어서 x1 일 때의 y값 구하기 0. 위의 식에서 먼저 첫번째 식을 이용하여 x1 일 때의 t (시간) 을 구해야 합니다1. 두번째 식에 위에서 구했던 t값을 넣어서 y값을 구합니다.2. y값이 [h1+1, h2-1] (닫힌구간 : h1+1 https://www.acmicpc.net/proble..
var n,i,j,k,x,y,c,d:int64;r:real;a,b:array[1..100] of real;beginreadln(n,r);r:=r*r;for i:=1 to n do begin readln(a[i],b[i]);end;for i:=-100 to 100 do begin for j:=-100 to 100 do begin y:=n; for k:=1 to n do begin if r 아래 c언어로 같은 문제를 푼 것이 있습니다.https://h202.tistory.com/829

var i,n:int64;a,b:array[1..6]of int64; //변수beginreadln(n); //n개의 직육면체readln(b[1],b[2],b[3],b[4],b[5],b[6]); //첫번째 직육면체for i:=2 to n do begin //2번째 부터의 직육면체readln(a[1],a[2],a[3],a[4],a[5],a[6]); //직육면체들의 교집합은 직육면체, 이 교집합의 두 꼭짓점의 좌표들을 구합니다.//좌표값이 작은 꼭짓점 구하기if a[1]>b[1] then b[1]:=a[1];if a[2]>b[2] then b[2]:=a[2];if a[3]>b[3] then b[3]:=a[3];//좌표값이 큰 꼭짓점 구하기if a[4] 0으로 if a[1] 풀이 : 기하학 문제에서는 x,y,z..
- Total
- Today
- Yesterday
- java
- 기하학
- DFS
- XOR
- 백준
- 누적 합
- BFS
- C++
- 1835
- PASCAL
- 최대공약수
- 누적합
- 덱
- 그래프
- Lazy Propagation
- find
- 최소 스패닝 트리
- 1835번
- 플로이드
- 정렬
- Segment Tree
- 브루트포스
- union
- DP
- Krustal
- 스택
- 그리디
- C언어
- 세그먼트 트리
- 오프라인 쿼리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |