๋ฌธ์
์ฝ๋
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int N,M,ans;
vector<int>v[201];
void dfs(int now, int first, int second, int third, int cnt){
if(cnt==3){
for(int i=0; i<v[first].size(); i++){
if(v[first][i] == second || v[first][i] == third) return;
}
for(int i=0; i<v[second].size(); i++){
if(v[second][i] == first || v[second][i] == third) return;
}
for(int i=0; i<v[third].size(); i++){
if(v[third][i] == first || v[third][i] == second) return;
}
ans++;
return;
}
for(int i=now; i<N; i++){
if(cnt==1) dfs(i+1,first,i+1,third,cnt+1);
else if(cnt==2) dfs(i+1,first,second,i+1,cnt+1);
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cin>>N>>M;
for(int i=0; i<M; i++){
int a, b; cin>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
for(int i=1; i<N; i++){
dfs(i, i, -1, -1, 1);
}
cout<<ans;
}
ํ์ด
๋จผ์ ๋ชจ๋ ์์ด์คํฌ๋ฆผ์ ์ธ ๊ฐ ๊ณ ๋ฅธ ๋ค์ ํด๋น ์กฐํฉ์ด ์ ํจํ์ง ๊ฒ์ฌํ๋ ์์ผ๋ก ํ์ดํ์ต๋๋ค. ์ฒ์์๋ ๊ณ ๋ฅด๊ธฐ ์ ์ ๋จผ์ ์กฐํฉ์ด ์ ํจํ์ง ๊ฒ์ฌํ๋ ๋ฐฉํฅ์ผ๋ก ๊ตฌํํ๋๋ฐ, ๊ณ์ ์ค๋ต์ด ๋ ์ ์ ๋ฐฉํฅ์ผ๋ก ๊ตฌํํ์ต๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 1969๋ฒ - DNA (0) | 2022.03.31 |
---|---|
[๋ฐฑ์ค,c++] 1052๋ฒ - ๋ฌผ๋ณ (0) | 2022.03.30 |
[๋ฐฑ์ค,c++] 2696๋ฒ - ์ค์๊ฐ ๊ตฌํ๊ธฐ (0) | 2022.03.29 |
[๋ฐฑ์ค,c++] 1449๋ฒ - ์๋ฆฌ๊ณต ํญ์น (0) | 2022.03.27 |
[๋ฐฑ์ค,c++] 1254๋ฒ - ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ (0) | 2022.03.26 |
[๋ฐฑ์ค,c++] 4396๋ฒ - ์ง๋ขฐ ์ฐพ๊ธฐ (0) | 2022.03.26 |
๋๊ธ