-
Codeforces Round #489 (Div. 2) : A. Nastya and an Array정렬(Sort) 2018. 6. 19. 10:45반응형
http://codeforces.com/contest/992/problem/A
1. 문제
A. Nastya and an Array
time limit per test1 second
memory limit per test256 megabytes
inputstandard input
outputstandard output
Nastya owns too many arrays now, so she wants to delete the least important of them. However, she discovered that this array is magic! Nastya now knows that the array has the following properties:
In one second we can add an arbitrary (possibly negative) integer to all elements of the array that are not equal to zero.
When all elements of the array become equal to zero, the array explodes.
Nastya is always busy, so she wants to explode the array as fast as possible. Compute the minimum time in which the array can be exploded.
2. 알고리즘
입력 받은 정수를 0 으로 클리어 해야 한다.
0으로 클리어 할 최소의 정수 개수를 출력 한다.
map 자료형에 0 이 아닌 자료형을 삽입 한다.
후에 map 에 사이즈를 출력하면 중복되지 않은 정수의 개수가 출력 된다.
3. 코드
123456789101112131415161718192021222324252627282930313233#include <iostream>#include <sstream>#include <string>#include <algorithm>#include <functional>#include <vector>#include <list>#include <queue>#include <map>using namespace std;// 상 하 좌 우int dy[] = { 0, -1, 1, 0};int dx[] = { -1, 0, 0, 1};int main() {std::ios::sync_with_stdio(false); cin.tie(0);int n; cin >> n;map<int, int> m;for(int i=0; i<n; i++) {int d; cin >> d;if(d != 0) {m[d]++;}}cout << m.size() << endl;return 0;}cs 반응형'정렬(Sort)' 카테고리의 다른 글
백준 14921번: 용액 합성하기 (0) 2018.07.03 백준 10989번: 수 정렬하기 3 (0) 2018.07.03 백준 11004번: K번째 수 (0) 2018.06.24 프로그래머스 Level1: 나누어 떨어지는 숫자 배열 (0) 2018.06.14 백준 2959번: 거북이 (0) 2018.06.13