Algorithm/BAEKJOON
[C#]백준 2563 색종이 - Hide
zz0zz9
2024. 11. 10. 23:12
반응형
반응형
https://www.acmicpc.net/problem/2563
문제 요약
도화지 위에 색종이가 붙은 영역의 넓이 출력하기
풀이
var h = new HashSet<int>();
for(int i=int.Parse(Console.ReadLine());i-->0;)
{
var a=Console.ReadLine().Split().Select(int.Parse).ToArray();
for(int t=0;t<100;t++)h.Add((a[0]+t/10)*100+(a[1]+t%10));
}
Console.WriteLine(h.Count);
자동으로 중복을 제거해 주기 위해 HashSet 사용
HashSet 말고 그냥 배열 써도 가능
var h = new int[10000];
for(int i=int.Parse(Console.ReadLine());i-->0;)
{
var a=Console.ReadLine().Split().Select(int.Parse).ToArray();
for(int t=0;t<100;t++)h[(a[0]+t/10)*100+(a[1]+t%10)]=1;
}
Console.WriteLine(h.Count(x=>x==1));
사실 x, y > 90인 경우처럼 +10을 해서 도화지 바깥으로 나가는 경우에 대한 예외처리를 해줘야 하지만
안 해줘도 딱히 틀렸습니다라고 나오지 않기 때문에 가능한 코드 ㅋㅋㅋ 이거 뭔가 나중에 틀렸다고 판정 바뀔 거 같은...
오늘도 로파이 소녀 덕분에 한 문제 풀었다
집중력 너무 약해 ㅠㅠ
반응형