BOJ9375
BOJ9375. ファッション王申海彬
質問する
コード#コード#
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char const *argv[])
{
int tcase, num;
string clothes, cate;
cin >> tcase;
while (tcase--)
{
map<string, int> m;
cin >> num;
while (num--)
{
cin >> clothes >> cate;
if (m.find(cate) == m.end())
{
m.insert(pair<string, int>(cate, 1));
}
else
{
m[cate]++;
}
}
int ans = 1;
for (auto i : m)
{
ans *= (i.second + 1);
}
ans -= 1;
cout << ans << '\n';
}
return 0;
}
に答える
(headgear種類数+1)*(眼鏡種類数+1)-1+ 1
この服を着ていない- 1
も着なければ
同時に発生した場合を掛ける.(乗算法則)
Mapリソース構造
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char const *argv[])
{
int tcase, num;
string clothes, cate;
cin >> tcase;
while (tcase--)
{
map<string, int> m;
cin >> num;
while (num--)
{
cin >> clothes >> cate;
if (m.find(cate) == m.end())
{
m.insert(pair<string, int>(cate, 1));
}
else
{
m[cate]++;
}
}
int ans = 1;
for (auto i : m)
{
ans *= (i.second + 1);
}
ans -= 1;
cout << ans << '\n';
}
return 0;
}
m.insert(pair<string,int>(cate,1));
map.findについて(検索する)
「検索する」が見つかった場合は対応する値を返し、見つからない場合はm.end()(ここでは0)を返します.
for(auto変数:配列)(c++11以降)
範囲ベースのFor文
安定性のためにアップグレードされた配列だそうです.
配列の値が変数に割り当てられる方法は、配列の範囲と一致します.
auto
は、コンピュータがアレイに基づいてデータ型を自動的に判断するキーワードであるint fibonacci[]= {0,1,1,2,3,5,8,13,21}
for(int number : fibonacci){
cout<<number<<' ';
// auto로 하면 컴퓨터가 알아서 자료형을 판단함
for(auto number : fibonacci){
cout<<number<<' ';
Reference
この問題について(BOJ9375), 我々は、より多くの情報をここで見つけました https://velog.io/@aksel26/BOJ9375テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol