1^14 의 square root 는 1^7이다.

1^7까지의 소수만 구해주면 된다.


그래서 2~1^7까지의 소수를 구하고, 

#include <cstdio>
/**
* https://www.acmicpc.net/problem/1456
* BOJ 백준온라인져지 1456 거의 소수 풀이
*/
int main(){
long long min, max;
int count = 0;
scanf("%lld%lld", &min, &max);
bool *isPrimeNumber = new bool[(int)1e+7 + 1];
int *primeNumber = new int[(int)1e+7 + 1];
int cnt = 0;
for(long long i = 2; i * i <= max ; i++){
if(!isPrimeNumber[i]){
for(long long j = i * 2; j * j <= max; j += i) isPrimeNumber[j] = true;
primeNumber[cnt++] = i;
}
}
for(int i = 0; i < cnt; i++){
long long n = primeNumber[i];
while(primeNumber[i] <= max / n){
if(primeNumber[i] * n >= min) count++;
n *= primeNumber[i];
}
}
printf("%d", count);
}
view raw BOJ_1456.cpp hosted with ❤ by GitHub


primeNumber에 소수들을 넣어준다.


primeNumber에 들어간 소수들로 

max => n * primeNumber[i]를 계산해준다.


여기서 주의해야 될 점이 n이 long long을 넘어가는 경우다.


하지만 이항을 해서

max / n >= primeNumber[i]로 변경할 수 있다.


그리고 min >=의 경우를 구해야줘야 되는데, 이미 while loop에서 체크를 해줘서 밑에서는 체크를 안해줘도 된다.

용액의 특성값이 중복이 된다는 생각을 안하고 풀어서 1일이 걸렸다.


코드의 변화가 많이 있었는데

처음에는 순차적으로 검색하는걸 작성하다가 시간초과가 날 예상을 하고 안짰다.

다음에는 순차적으로 하는데 idx를 저장해서 그 idx만큼만 돌게했다. 시간초과

다음에는 l과 r을 두고 만나는 방식으로 했는데 틀렸다. 양수와 음수를 가지고 계산함.

다음에는 양수와 음수를 생각하지 않고 l과 r을 두고 만나는 방식을 사용함. (정답)

#include <cstdio>
/**
* https://www.acmicpc.net/problem/14921
* BOJ 백준온라인져지 14921 용액 합성하기 풀이
*/
using namespace std;
int abs(int a){
return a > 0 ? a : -a;
}
int min(int a, int b){
int aa = abs(a);
int bb = abs(b);
return aa < bb ? a : b;
}
int main(){
int N;
scanf("%d", &N);
int *list = new int[N];
for(int i = 0; i < N; i++){
scanf("%d", &list[i]);
}
int maximum = 1000000000, l = 0, r = N - 1;
do{
if(abs(maximum) > abs(list[l] + list[r])){
maximum = list[l] + list[r];
}
if(abs(list[l] + list[r]) >= abs(list[l] + list[r - 1])){
r--;
}else if(r + 1 < N && abs(list[l] + list[r]) > abs(list[l] + list[r + 1])){
r++;
}else{
l++;
}
}while(l < r);
printf("%d", maximum);
}
view raw BOJ_14921.cpp hosted with ❤ by GitHub


#include <cstdio>
/**
* https://www.acmicpc.net/problem/14921
* BOJ 백준온라인져지 14921 용액 합성하기 풀이
*/
using namespace std;
int abs(int a){
return a > 0 ? a : -a;
}
int min(int a, int b){
int aa = abs(a);
int bb = abs(b);
return aa < bb ? a : b;
}
int main(){
int N;
scanf("%d", &N);
int *list = new int[N];
for(int i = 0; i < N; i++){
scanf("%d", &list[i]);
}
int maximum = 1000000000, l = 0, r = N - 1;
do{
if(abs(maximum) > abs(list[l] + list[r])){
maximum = list[l] + list[r];
}
if(abs(list[l] + list[r]) >= abs(list[l] + list[r - 1])){
r--;
}else if(r + 1 < N && abs(list[l] + list[r]) > abs(list[l] + list[r + 1])){
r++;
}else{
l++;
}
}while(l < r);
printf("%d", maximum);
}
view raw BOJ_14921.cpp hosted with ❤ by GitHub

오븐시계에서 초만 추가해줬다.

#include <cstdio>
/**
* https://www.acmicpc.net/problem/2530
* BOJ 백준온라인져지 2530 인공지능 시계 풀이
*/
int main(){
int hour, minute, second;
scanf("%d%d%d", &hour, &minute, &second);
int time;
scanf("%d", &time);
while(time--){
second++;
if(second == 60){
minute++;
if(minute == 60){
hour++;
if(hour == 24){
hour = 0;
}
minute = 0;
}
second = 0;
}
}
printf("%d %d %d", hour, minute, second);
}
view raw BOJ_2530.cpp hosted with ❤ by GitHub

시간이 그렇게 큰게 아니여서 걍 반복문으로 처리함

#include <cstdio>
/**
* https://www.acmicpc.net/problem/2525
* BOJ 백준온라인져지 2525 오븐 시계 풀이
*/
int main(){
int hour, minute;
scanf("%d%d", &hour, &minute);
int time;
scanf("%d", &time);
while(time--){
minute++;
if(minute == 60){
hour++;
if(hour == 24){
hour = 0;
}
minute = 0;
}
}
printf("%d %d", hour, minute);
}
view raw BOJ_2525.cpp hosted with ❤ by GitHub


파싱해올 여건이 안돼서 배열에 있는 내용은 가져왔다.

출력하는 부분 코드를 약간 바꿈

#include <cstdio>
/**
* https://www.acmicpc.net/problem/9987
* BOJ 백준온라인져지 9987 포켓몬 마스터 풀이
*/
char *t[] = {"",
"Bulbasaur",
"Grass Poison",
"Ivysaur",
"Grass Poison",
"Venusaur",
"Grass Poison",
"Charmander",
"Fire",
"Charmeleon",
"Fire",
"Charizard",
"Fire Flying",
"Squirtle",
"Water",
"Wartortle",
"Water",
"Blastoise",
"Water",
"Caterpie",
"Bug",
"Metapod",
"Bug",
"Butterfree",
"Bug Flying",
"Weedle",
"Bug Poison",
"Kakuna",
"Bug Poison",
"Beedrill",
"Bug Poison",
"Pidgey",
"Normal Flying",
"Pidgeotto",
"Normal Flying",
"Pidgeot",
"Normal Flying",
"Rattata",
"Normal",
"Raticate",
"Normal",
"Spearow",
"Normal Flying",
"Fearow",
"Normal Flying",
"Ekans",
"Poison",
"Arbok",
"Poison",
"Pikachu",
"Electric",
"Raichu",
"Electric",
"Sandshrew",
"Ground",
"Sandslash",
"Ground",
"Nidoran♀",
"Poison",
"Nidorina",
"Poison",
"Nidoqueen",
"Poison Ground",
"Nidoran♂",
"Poison",
"Nidorino",
"Poison",
"Nidoking",
"Poison Ground",
"Clefairy",
"Fairy",
"Clefable",
"Fairy",
"Vulpix",
"Fire",
"Ninetales",
"Fire",
"Jigglypuff",
"Normal Fairy",
"Wigglytuff",
"Normal Fairy",
"Zubat",
"Poison Flying",
"Golbat",
"Poison Flying",
"Oddish",
"Grass Poison",
"Gloom",
"Grass Poison",
"Vileplume",
"Grass Poison",
"Paras",
"Bug Grass",
"Parasect",
"Bug Grass",
"Venonat",
"Bug Poison",
"Venomoth",
"Bug Poison",
"Diglett",
"Ground",
"Dugtrio",
"Ground",
"Meowth",
"Normal",
"Persian",
"Normal",
"Psyduck",
"Water",
"Golduck",
"Water",
"Mankey",
"Fighting",
"Primeape",
"Fighting",
"Growlithe",
"Fire",
"Arcanine",
"Fire",
"Poliwag",
"Water",
"Poliwhirl",
"Water",
"Poliwrath",
"Water Fighting",
"Abra",
"Psychic",
"Kadabra",
"Psychic",
"Alakazam",
"Psychic",
"Machop",
"Fighting",
"Machoke",
"Fighting",
"Machamp",
"Fighting",
"Bellsprout",
"Grass Poison",
"Weepinbell",
"Grass Poison",
"Victreebel",
"Grass Poison",
"Tentacool",
"Water Poison",
"Tentacruel",
"Water Poison",
"Geodude",
"Rock Ground",
"Graveler",
"Rock Ground",
"Golem",
"Rock Ground",
"Ponyta",
"Fire",
"Rapidash",
"Fire",
"Slowpoke",
"Water Psychic",
"Slowbro",
"Water Psychic",
"Magnemite",
"Electric Steel",
"Magneton",
"Electric Steel",
"Farfetch'd",
"Normal Flying",
"Doduo",
"Normal Flying",
"Dodrio",
"Normal Flying",
"Seel",
"Water",
"Dewgong",
"Water Ice",
"Grimer",
"Poison",
"Muk",
"Poison",
"Shellder",
"Water",
"Cloyster",
"Water Ice",
"Gastly",
"Ghost Poison",
"Haunter",
"Ghost Poison",
"Gengar",
"Ghost Poison",
"Onix",
"Rock Ground",
"Drowzee",
"Psychic",
"Hypno",
"Psychic",
"Krabby",
"Water",
"Kingler",
"Water",
"Voltorb",
"Electric",
"Electrode",
"Electric",
"Exeggcute",
"Grass Psychic",
"Exeggutor",
"Grass Psychic",
"Cubone",
"Ground",
"Marowak",
"Ground",
"Hitmonlee",
"Fighting",
"Hitmonchan",
"Fighting",
"Lickitung",
"Normal",
"Koffing",
"Poison",
"Weezing",
"Poison",
"Rhyhorn",
"Ground Rock",
"Rhydon",
"Ground Rock",
"Chansey",
"Normal",
"Tangela",
"Grass",
"Kangaskhan",
"Normal",
"Horsea",
"Water",
"Seadra",
"Water",
"Goldeen",
"Water",
"Seaking",
"Water",
"Staryu",
"Water",
"Starmie",
"Water Psychic",
"Mr. Mime",
"Psychic Fairy",
"Scyther",
"Bug Flying",
"Jynx",
"Ice Psychic",
"Electabuzz",
"Electric",
"Magmar",
"Fire",
"Pinsir",
"Bug",
"Tauros",
"Normal",
"Magikarp",
"Water",
"Gyarados",
"Water Flying",
"Lapras",
"Water Ice",
"Ditto",
"Normal",
"Eevee",
"Normal",
"Vaporeon",
"Water",
"Jolteon",
"Electric",
"Flareon",
"Fire",
"Porygon",
"Normal",
"Omanyte",
"Rock Water",
"Omastar",
"Rock Water",
"Kabuto",
"Rock Water",
"Kabutops",
"Rock Water",
"Aerodactyl",
"Rock Flying",
"Snorlax",
"Normal",
"Articuno",
"Ice Flying",
"Zapdos",
"Electric Flying",
"Moltres",
"Fire Flying",
"Dratini",
"Dragon",
"Dragonair",
"Dragon",
"Dragonite",
"Dragon Flying",
"Mewtwo",
"Psychic",
"Mew",
"Psychic",
"Chikorita",
"Grass",
"Bayleef",
"Grass",
"Meganium",
"Grass",
"Cyndaquil",
"Fire",
"Quilava",
"Fire",
"Typhlosion",
"Fire",
"Totodile",
"Water",
"Croconaw",
"Water",
"Feraligatr",
"Water",
"Sentret",
"Normal",
"Furret",
"Normal",
"Hoothoot",
"Normal Flying",
"Noctowl",
"Normal Flying",
"Ledyba",
"Bug Flying",
"Ledian",
"Bug Flying",
"Spinarak",
"Bug Poison",
"Ariados",
"Bug Poison",
"Crobat",
"Poison Flying",
"Chinchou",
"Water Electric",
"Lanturn",
"Water Electric",
"Pichu",
"Electric",
"Cleffa",
"Fairy",
"Igglybuff",
"Normal Fairy",
"Togepi",
"Fairy",
"Togetic",
"Fairy Flying",
"Natu",
"Psychic Flying",
"Xatu",
"Psychic Flying",
"Mareep",
"Electric",
"Flaaffy",
"Electric",
"Ampharos",
"Electric",
"Bellossom",
"Grass",
"Marill",
"Water Fairy",
"Azumarill",
"Water Fairy",
"Sudowoodo",
"Rock",
"Politoed",
"Water",
"Hoppip",
"Grass Flying",
"Skiploom",
"Grass Flying",
"Jumpluff",
"Grass Flying",
"Aipom",
"Normal",
"Sunkern",
"Grass",
"Sunflora",
"Grass",
"Yanma",
"Bug Flying",
"Wooper",
"Water Ground",
"Quagsire",
"Water Ground",
"Espeon",
"Psychic",
"Umbreon",
"Dark",
"Murkrow",
"Dark Flying",
"Slowking",
"Water Psychic",
"Misdreavus",
"Ghost",
"Unown",
"Psychic",
"Wobbuffet",
"Psychic",
"Girafarig",
"Normal Psychic",
"Pineco",
"Bug",
"Forretress",
"Bug Steel",
"Dunsparce",
"Normal",
"Gligar",
"Ground Flying",
"Steelix",
"Steel Ground",
"Snubbull",
"Fairy",
"Granbull",
"Fairy",
"Qwilfish",
"Water Poison",
"Scizor",
"Bug Steel",
"Shuckle",
"Bug Rock",
"Heracross",
"Bug Fighting",
"Sneasel",
"Dark Ice",
"Teddiursa",
"Normal",
"Ursaring",
"Normal",
"Slugma",
"Fire",
"Magcargo",
"Fire Rock",
"Swinub",
"Ice Ground",
"Piloswine",
"Ice Ground",
"Corsola",
"Water Rock",
"Remoraid",
"Water",
"Octillery",
"Water",
"Delibird",
"Ice Flying",
"Mantine",
"Water Flying",
"Skarmory",
"Steel Flying",
"Houndour",
"Dark Fire",
"Houndoom",
"Dark Fire",
"Kingdra",
"Water Dragon",
"Phanpy",
"Ground",
"Donphan",
"Ground",
"Porygon2",
"Normal",
"Stantler",
"Normal",
"Smeargle",
"Normal",
"Tyrogue",
"Fighting",
"Hitmontop",
"Fighting",
"Smoochum",
"Ice Psychic",
"Elekid",
"Electric",
"Magby",
"Fire",
"Miltank",
"Normal",
"Blissey",
"Normal",
"Raikou",
"Electric",
"Entei",
"Fire",
"Suicune",
"Water",
"Larvitar",
"Rock Ground",
"Pupitar",
"Rock Ground",
"Tyranitar",
"Rock Dark",
"Lugia",
"Psychic Flying",
"Ho-oh",
"Fire Flying",
"Celebi",
"Psychic Grass",
"Treecko",
"Grass",
"Grovyle",
"Grass",
"Sceptile",
"Grass",
"Torchic",
"Fire",
"Combusken",
"Fire Fighting",
"Blaziken",
"Fire Fighting",
"Mudkip",
"Water",
"Marshtomp",
"Water Ground",
"Swampert",
"Water Ground",
"Poochyena",
"Dark",
"Mightyena",
"Dark",
"Zigzagoon",
"Normal",
"Linoone",
"Normal",
"Wurmple",
"Bug",
"Silcoon",
"Bug",
"Beautifly",
"Bug Flying",
"Cascoon",
"Bug",
"Dustox",
"Bug Poison",
"Lotad",
"Water Grass",
"Lombre",
"Water Grass",
"Ludicolo",
"Water Grass",
"Seedot",
"Grass",
"Nuzleaf",
"Grass Dark",
"Shiftry",
"Grass Dark",
"Taillow",
"Normal Flying",
"Swellow",
"Normal Flying",
"Wingull",
"Water Flying",
"Pelipper",
"Water Flying",
"Ralts",
"Psychic Fairy",
"Kirlia",
"Psychic Fairy",
"Gardevoir",
"Psychic Fairy",
"Surskit",
"Bug Water",
"Masquerain",
"Bug Flying",
"Shroomish",
"Grass",
"Breloom",
"Grass Fighting",
"Slakoth",
"Normal",
"Vigoroth",
"Normal",
"Slaking",
"Normal",
"Nincada",
"Bug Ground",
"Ninjask",
"Bug Flying",
"Shedinja",
"Bug Ghost",
"Whismur",
"Normal",
"Loudred",
"Normal",
"Exploud",
"Normal",
"Makuhita",
"Fighting",
"Hariyama",
"Fighting",
"Azurill",
"Normal Fairy",
"Nosepass",
"Rock",
"Skitty",
"Normal",
"Delcatty",
"Normal",
"Sableye",
"Dark Ghost",
"Mawile",
"Steel Fairy",
"Aron",
"Steel Rock",
"Lairon",
"Steel Rock",
"Aggron",
"Steel Rock",
"Meditite",
"Fighting Psychic",
"Medicham",
"Fighting Psychic",
"Electrike",
"Electric",
"Manectric",
"Electric",
"Plusle",
"Electric",
"Minun",
"Electric",
"Volbeat",
"Bug",
"Illumise",
"Bug",
"Roselia",
"Grass Poison",
"Gulpin",
"Poison",
"Swalot",
"Poison",
"Carvanha",
"Water Dark",
"Sharpedo",
"Water Dark",
"Wailmer",
"Water",
"Wailord",
"Water",
"Numel",
"Fire Ground",
"Camerupt",
"Fire Ground",
"Torkoal",
"Fire",
"Spoink",
"Psychic",
"Grumpig",
"Psychic",
"Spinda",
"Normal",
"Trapinch",
"Ground",
"Vibrava",
"Ground Dragon",
"Flygon",
"Ground Dragon",
"Cacnea",
"Grass",
"Cacturne",
"Grass Dark",
"Swablu",
"Normal Flying",
"Altaria",
"Dragon Flying",
"Zangoose",
"Normal",
"Seviper",
"Poison",
"Lunatone",
"Rock Psychic",
"Solrock",
"Rock Psychic",
"Barboach",
"Water Ground",
"Whiscash",
"Water Ground",
"Corphish",
"Water",
"Crawdaunt",
"Water Dark",
"Baltoy",
"Ground Psychic",
"Claydol",
"Ground Psychic",
"Lileep",
"Rock Grass",
"Cradily",
"Rock Grass",
"Anorith",
"Rock Bug",
"Armaldo",
"Rock Bug",
"Feebas",
"Water",
"Milotic",
"Water",
"Castform",
"Normal",
"Kecleon",
"Normal",
"Shuppet",
"Ghost",
"Banette",
"Ghost",
"Duskull",
"Ghost",
"Dusclops",
"Ghost",
"Tropius",
"Grass Flying",
"Chimecho",
"Psychic",
"Absol",
"Dark",
"Wynaut",
"Psychic",
"Snorunt",
"Ice",
"Glalie",
"Ice",
"Spheal",
"Ice Water",
"Sealeo",
"Ice Water",
"Walrein",
"Ice Water",
"Clamperl",
"Water",
"Huntail",
"Water",
"Gorebyss",
"Water",
"Relicanth",
"Water Rock",
"Luvdisc",
"Water",
"Bagon",
"Dragon",
"Shelgon",
"Dragon",
"Salamence",
"Dragon Flying",
"Beldum",
"Steel Psychic",
"Metang",
"Steel Psychic",
"Metagross",
"Steel Psychic",
"Regirock",
"Rock",
"Regice",
"Ice",
"Registeel",
"Steel",
"Latias",
"Dragon Psychic",
"Latios",
"Dragon Psychic",
"Kyogre",
"Water",
"Groudon",
"Ground",
"Rayquaza",
"Dragon Flying",
"Jirachi",
"Steel Psychic",
"Deoxys",
"Psychic",
"Turtwig",
"Grass",
"Grotle",
"Grass",
"Torterra",
"Grass Ground",
"Chimchar",
"Fire",
"Monferno",
"Fire Fighting",
"Infernape",
"Fire Fighting",
"Piplup",
"Water",
"Prinplup",
"Water",
"Empoleon",
"Water Steel",
"Starly",
"Normal Flying",
"Staravia",
"Normal Flying",
"Staraptor",
"Normal Flying",
"Bidoof",
"Normal",
"Bibarel",
"Normal Water",
"Kricketot",
"Bug",
"Kricketune",
"Bug",
"Shinx",
"Electric",
"Luxio",
"Electric",
"Luxray",
"Electric",
"Budew",
"Grass Poison",
"Roserade",
"Grass Poison",
"Cranidos",
"Rock",
"Rampardos",
"Rock",
"Shieldon",
"Rock Steel",
"Bastiodon",
"Rock Steel",
"Burmy",
"Bug",
"Wormadam",
"Bug Grass",
"Mothim",
"Bug Flying",
"Combee",
"Bug Flying",
"Vespiquen",
"Bug Flying",
"Pachirisu",
"Electric",
"Buizel",
"Water",
"Floatzel",
"Water",
"Cherubi",
"Grass",
"Cherrim",
"Grass",
"Shellos",
"Water",
"Gastrodon",
"Water Ground",
"Ambipom",
"Normal",
"Drifloon",
"Ghost Flying",
"Drifblim",
"Ghost Flying",
"Buneary",
"Normal",
"Lopunny",
"Normal",
"Mismagius",
"Ghost",
"Honchkrow",
"Dark Flying",
"Glameow",
"Normal",
"Purugly",
"Normal",
"Chingling",
"Psychic",
"Stunky",
"Poison Dark",
"Skuntank",
"Poison Dark",
"Bronzor",
"Steel Psychic",
"Bronzong",
"Steel Psychic",
"Bonsly",
"Rock",
"Mime Jr.",
"Psychic Fairy",
"Happiny",
"Normal",
"Chatot",
"Normal Flying",
"Spiritomb",
"Ghost Dark",
"Gible",
"Dragon Ground",
"Gabite",
"Dragon Ground",
"Garchomp",
"Dragon Ground",
"Munchlax",
"Normal",
"Riolu",
"Fighting",
"Lucario",
"Fighting Steel",
"Hippopotas",
"Ground",
"Hippowdon",
"Ground",
"Skorupi",
"Poison Bug",
"Drapion",
"Poison Dark",
"Croagunk",
"Poison Fighting",
"Toxicroak",
"Poison Fighting",
"Carnivine",
"Grass",
"Finneon",
"Water",
"Lumineon",
"Water",
"Mantyke",
"Water Flying",
"Snover",
"Grass Ice",
"Abomasnow",
"Grass Ice",
"Weavile",
"Dark Ice",
"Magnezone",
"Electric Steel",
"Lickilicky",
"Normal",
"Rhyperior",
"Ground Rock",
"Tangrowth",
"Grass",
"Electivire",
"Electric",
"Magmortar",
"Fire",
"Togekiss",
"Fairy Flying",
"Yanmega",
"Bug Flying",
"Leafeon",
"Grass",
"Glaceon",
"Ice",
"Gliscor",
"Ground Flying",
"Mamoswine",
"Ice Ground",
"Porygon-Z",
"Normal",
"Gallade",
"Psychic Fighting",
"Probopass",
"Rock Steel",
"Dusknoir",
"Ghost",
"Froslass",
"Ice Ghost",
"Rotom",
"Electric Ghost",
"Uxie",
"Psychic",
"Mesprit",
"Psychic",
"Azelf",
"Psychic",
"Dialga",
"Steel Dragon",
"Palkia",
"Water Dragon",
"Heatran",
"Fire Steel",
"Regigigas",
"Normal",
"Giratina",
"Ghost Dragon",
"Cresselia",
"Psychic",
"Phione",
"Water",
"Manaphy",
"Water",
"Darkrai",
"Dark",
"Shaymin",
"Grass",
"Arceus",
"Normal",
"Victini",
"Psychic Fire",
"Snivy",
"Grass",
"Servine",
"Grass",
"Serperior",
"Grass",
"Tepig",
"Fire",
"Pignite",
"Fire Fighting",
"Emboar",
"Fire Fighting",
"Oshawott",
"Water",
"Dewott",
"Water",
"Samurott",
"Water",
"Patrat",
"Normal",
"Watchog",
"Normal",
"Lillipup",
"Normal",
"Herdier",
"Normal",
"Stoutland",
"Normal",
"Purrloin",
"Dark",
"Liepard",
"Dark",
"Pansage",
"Grass",
"Simisage",
"Grass",
"Pansear",
"Fire",
"Simisear",
"Fire",
"Panpour",
"Water",
"Simipour",
"Water",
"Munna",
"Psychic",
"Musharna",
"Psychic",
"Pidove",
"Normal Flying",
"Tranquill",
"Normal Flying",
"Unfezant",
"Normal Flying",
"Blitzle",
"Electric",
"Zebstrika",
"Electric",
"Roggenrola",
"Rock",
"Boldore",
"Rock",
"Gigalith",
"Rock",
"Woobat",
"Psychic Flying",
"Swoobat",
"Psychic Flying",
"Drilbur",
"Ground",
"Excadrill",
"Ground Steel",
"Audino",
"Normal",
"Timburr",
"Fighting",
"Gurdurr",
"Fighting",
"Conkeldurr",
"Fighting",
"Tympole",
"Water",
"Palpitoad",
"Water Ground",
"Seismitoad",
"Water Ground",
"Throh",
"Fighting",
"Sawk",
"Fighting",
"Sewaddle",
"Bug Grass",
"Swadloon",
"Bug Grass",
"Leavanny",
"Bug Grass",
"Venipede",
"Bug Poison",
"Whirlipede",
"Bug Poison",
"Scolipede",
"Bug Poison",
"Cottonee",
"Grass Fairy",
"Whimsicott",
"Grass Fairy",
"Petilil",
"Grass",
"Lilligant",
"Grass",
"Basculin",
"Water",
"Sandile",
"Ground Dark",
"Krokorok",
"Ground Dark",
"Krookodile",
"Ground Dark",
"Darumaka",
"Fire",
"Darmanitan",
"Fire",
"Maractus",
"Grass",
"Dwebble",
"Bug Rock",
"Crustle",
"Bug Rock",
"Scraggy",
"Dark Fighting",
"Scrafty",
"Dark Fighting",
"Sigilyph",
"Psychic Flying",
"Yamask",
"Ghost",
"Cofagrigus",
"Ghost",
"Tirtouga",
"Water Rock",
"Carracosta",
"Water Rock",
"Archen",
"Rock Flying",
"Archeops",
"Rock Flying",
"Trubbish",
"Poison",
"Garbodor",
"Poison",
"Zorua",
"Dark",
"Zoroark",
"Dark",
"Minccino",
"Normal",
"Cinccino",
"Normal",
"Gothita",
"Psychic",
"Gothorita",
"Psychic",
"Gothitelle",
"Psychic",
"Solosis",
"Psychic",
"Duosion",
"Psychic",
"Reuniclus",
"Psychic",
"Ducklett",
"Water Flying",
"Swanna",
"Water Flying",
"Vanillite",
"Ice",
"Vanillish",
"Ice",
"Vanilluxe",
"Ice",
"Deerling",
"Normal Grass",
"Sawsbuck",
"Normal Grass",
"Emolga",
"Electric Flying",
"Karrablast",
"Bug",
"Escavalier",
"Bug Steel",
"Foongus",
"Grass Poison",
"Amoonguss",
"Grass Poison",
"Frillish",
"Water Ghost",
"Jellicent",
"Water Ghost",
"Alomomola",
"Water",
"Joltik",
"Bug Electric",
"Galvantula",
"Bug Electric",
"Ferroseed",
"Grass Steel",
"Ferrothorn",
"Grass Steel",
"Klink",
"Steel",
"Klang",
"Steel",
"Klinklang",
"Steel",
"Tynamo",
"Electric",
"Eelektrik",
"Electric",
"Eelektross",
"Electric",
"Elgyem",
"Psychic",
"Beheeyem",
"Psychic",
"Litwick",
"Ghost Fire",
"Lampent",
"Ghost Fire",
"Chandelure",
"Ghost Fire",
"Axew",
"Dragon",
"Fraxure",
"Dragon",
"Haxorus",
"Dragon",
"Cubchoo",
"Ice",
"Beartic",
"Ice",
"Cryogonal",
"Ice",
"Shelmet",
"Bug",
"Accelgor",
"Bug",
"Stunfisk",
"Electric Ground",
"Mienfoo",
"Fighting",
"Mienshao",
"Fighting",
"Druddigon",
"Dragon",
"Golett",
"Ground Ghost",
"Golurk",
"Ground Ghost",
"Pawniard",
"Dark Steel",
"Bisharp",
"Dark Steel",
"Bouffalant",
"Normal",
"Rufflet",
"Normal Flying",
"Braviary",
"Normal Flying",
"Vullaby",
"Dark Flying",
"Mandibuzz",
"Dark Flying",
"Heatmor",
"Fire",
"Durant",
"Bug Steel",
"Deino",
"Dark Dragon",
"Zweilous",
"Dark Dragon",
"Hydreigon",
"Dark Dragon",
"Larvesta",
"Bug Fire",
"Volcarona",
"Bug Fire",
"Cobalion",
"Steel Fighting",
"Terrakion",
"Rock Fighting",
"Virizion",
"Grass Fighting",
"Tornadus",
"Flying",
"Thundurus",
"Electric Flying",
"Reshiram",
"Dragon Fire",
"Zekrom",
"Dragon Electric",
"Landorus",
"Ground Flying",
"Kyurem",
"Dragon Ice",
"Keldeo",
"Water Fighting",
"Meloetta",
"Normal Psychic",
"Genesect",
"Bug Steel",
"Chespin",
"Grass",
"Quilladin",
"Grass",
"Chesnaught",
"Grass Fighting",
"Fennekin",
"Fire",
"Braixen",
"Fire",
"Delphox",
"Fire Psychic",
"Froakie",
"Water",
"Frogadier",
"Water",
"Greninja",
"Water Dark",
"Bunnelby",
"Normal",
"Diggersby",
"Normal Ground",
"Fletchling",
"Normal Flying",
"Fletchinder",
"Fire Flying",
"Talonflame",
"Fire Flying",
"Scatterbug",
"Bug",
"Spewpa",
"Bug",
"Vivillon",
"Bug Flying",
"Litleo",
"Fire Normal",
"Pyroar",
"Fire Normal",
"Flabébé",
"Fairy",
"Floette",
"Fairy",
"Florges",
"Fairy",
"Skiddo",
"Grass",
"Gogoat",
"Grass",
"Pancham",
"Fighting",
"Pangoro",
"Fighting Dark",
"Furfrou",
"Normal",
"Espurr",
"Psychic",
"Meowstic",
"Psychic",
"Honedge",
"Steel Ghost",
"Doublade",
"Steel Ghost",
"Aegislash",
"Steel Ghost",
"Spritzee",
"Fairy",
"Aromatisse",
"Fairy",
"Swirlix",
"Fairy",
"Slurpuff",
"Fairy",
"Inkay",
"Dark Psychic",
"Malamar",
"Dark Psychic",
"Binacle",
"Rock Water",
"Barbaracle",
"Rock Water",
"Skrelp",
"Poison Water",
"Dragalge",
"Poison Dragon",
"Clauncher",
"Water",
"Clawitzer",
"Water",
"Helioptile",
"Electric Normal",
"Heliolisk",
"Electric Normal",
"Tyrunt",
"Rock Dragon",
"Tyrantrum",
"Rock Dragon",
"Amaura",
"Rock Ice",
"Aurorus",
"Rock Ice",
"Sylveon",
"Fairy",
"Hawlucha",
"Fighting Flying",
"Dedenne",
"Electric Fairy",
"Carbink",
"Rock Fairy",
"Goomy",
"Dragon",
"Sliggoo",
"Dragon",
"Goodra",
"Dragon",
"Klefki",
"Steel Fairy",
"Phantump",
"Ghost Grass",
"Trevenant",
"Ghost Grass",
"Pumpkaboo",
"Ghost Grass",
"Gourgeist",
"Ghost Grass",
"Bergmite",
"Ice",
"Avalugg",
"Ice",
"Noibat",
"Flying Dragon",
"Noivern",
"Flying Dragon",
"Xerneas",
"Fairy",
"Yveltal",
"Dark Flying",
"Zygarde",
"Dragon Ground",
"Diancie",
"Rock Fairy",
"Hoopa",
"Psychic Ghost",
"Volcanion",
"Fire Water"
};
int main() {
int a;
scanf("%d", &a);
printf("%s\n%s", t[a * 2 - 1], t[a * 2]);
}
view raw BOJ_9987.cpp hosted with ❤ by GitHub


소수 계산은 아직 익숙하지가 않다.


그래서 다른 답들을 참고해봤는데, 문자열로 받아서 정수형으로 변환하고 처리하는게 많은거 같다.

또는 아주작은 숫자를 더해서 반올림 해주는거 같다.

#include <cstdio>
#include <vector>
#include <math.h>
/**
* https://www.acmicpc.net/problem/14919
* BOJ 백준온라인져지 14919 분포표 만들기 풀이
*/
#define MUL 1e+6
using namespace std;
int main(){
int m;
scanf("%d", &m);
double temp;
vector<int> a;
int bMin = 0;
int b = MUL / m, bMax;
while(scanf("%lf", &temp) != EOF){
a.push_back(ceil((double)temp * MUL));
}
for(int j = 0, count = 0, size = a.size(); j < m; j++, count = 0){
bMax = (j + 1) * b;
for(int i = 0; i < size; i++)
if(bMin <= a[i] && a[i] < bMax) count++;
printf("%d ", count);
bMin = bMax;
}
}
view raw BOJ_14919.cpp hosted with ❤ by GitHub


#include <cstdio>
/**
* https://www.acmicpc.net/problem/14918
* BOJ 백준온라인져지 14918 더하기 풀이
*/
int main(){
int A, B;
scanf("%d%d", &A, &B);
printf("%d", A + B);
}
view raw BOJ_14918.cpp hosted with ❤ by GitHub
     C(n+1) = C(n)/2     (C(n)이 짝수일 때)
            = 3*C(n)+1   (C(n)이 홀수일 때)
#include <cstdio>
/**
* https://www.acmicpc.net/problem/14920
* BOJ 백준온라인져지 14920 3n+1 수열 풀이
*/
int main(){
int N, count = 1;
scanf("%d", &N);
while(N != 1){
if(N % 2) N = 3 * N + 1;
else N /= 2;
count++;
}
printf("%d", count);
}
view raw BOJ_14920.cpp hosted with ❤ by GitHub

점화식이 이미 세워져있는걸 코드로 구현하면 된다.

다익스트라 알고리즘을 2번 돌린다.


while loop에서 모두 처음에

t에 X를 넣어주고, i -> t, t -> i 의 minimum distance를 구한다.

간선이 있으면, 값을 체크해서 넣어주고

visited[t] = true로 만들고 다음 반복으로 간다.


그 다음부터는 더 짧은 거리가 있다면, 업데이트 해준다.


결론적으로 구하는 방법은 i -> t 갈 때, t -> i 갈때 를 구해서 더해준다.


i -> 와 t -> 의 경로는 다를 수 있다.

#include <cstdio>
/**
* https://www.acmicpc.net/problem/1916
* BOJ 백준온라인져지 1916 최소비용 구하기 풀이
*/
#define INF 1100000000
int main(){
int vertexSize, edgeSize, X;
scanf("%d%d%d", &vertexSize, &edgeSize, &X);
int *distance1 = new int[vertexSize + 1];
int *distance2 = new int[vertexSize + 1];
int **edges = new int*[vertexSize + 1];
for(int i = 1; i <= vertexSize; i++) edges[i] = new int[vertexSize + 1];
for(int i = 1; i <= vertexSize; i++) for(int j = 1; j <= vertexSize; j++) edges[i][j] = INF;
for(int i = 1; i <= edgeSize; i++){
int u, v, w;
scanf("%d%d%d", &u, &v, &w);
edges[u][v] = w;
}
for(int i = 1; i <= vertexSize; i++){
distance1[i] = distance2[i] = INF;
}
distance2[X] = distance1[X] = 0;
bool *visited = new bool[vertexSize + 1];
bool done = true;
int bt, t;
while(1){
done = true, bt = INF;
for(int i = 1; i <= vertexSize; i++){
if(!visited[i] && distance1[i] != INF){
if (bt == INF || distance1[i] < bt) { t = i, bt = distance1[i];}
done = false;
}
}
if(done) break;
for(int i = 1; i <= vertexSize; i++){
if (edges[t][i] != INF)
if (distance1[i] == INF || distance1[t] + edges[t][i] < distance1[i])
distance1[i] = distance1[t] + edges[t][i];
}
visited[t] = true;
}
visited = new bool[vertexSize + 1];
while(1){
done = true, bt = INF;
for(int i = 1; i <= vertexSize; i++){
if(!visited[i] && distance2[i] != INF){
if (bt == INF || distance2[i] < bt) { t = i, bt = distance2[i];}
done = false;
}
}
if(done) break;
for(int i = 1; i <= vertexSize; i++){
if (edges[i][t] != INF)
if (distance2[i] == INF || distance2[t] + edges[i][t] < distance2[i])
distance2[i] = distance2[t] + edges[i][t];
}
visited[t] = true;
}
int result = 0;
for(int i = 1; i <= vertexSize; i++) if(result < distance1[i] + distance2[i]) result = distance1[i] + distance2[i];
printf("%d", result);
}
view raw BOJ_1916.cpp hosted with ❤ by GitHub


#include <cstdio>
/**
* https://www.acmicpc.net/problem/2953
* BOJ 백준온라인져지 2953 나는 요리사다 풀이
*/
int max(int a, int b){
return a > b ? a : b;
}
int main(){
int rows = 5, columns = 4;
int **grades = new int*[rows + 1];
int max = 0, idx = 0;
for(int i = 1, sum = 0; i <= rows; i++, sum = 0){
grades[i] = new int[columns + 1];
for(int j = 1; j <= columns; j++){
scanf("%d", &grades[i][j]);
sum += grades[i][j];
}
if(max <= sum) idx = i, max = sum;
}
printf("%d %d", idx, max);
}
view raw BOJ_2953.cpp hosted with ❤ by GitHub

+ Recent posts