ZOJ 3708 전원 네트워크 의 밀도(물 문제)
제목:
제목 은 매우 간단 하 다.바로 몇 가지 노선 이 있 는 지,그리고 버스 의 수량 을 세 어 보 는 것 이다.제목 의 그림 은 매우 무섭다.만약 에 이 위협 을 받 으 면 비참 하 다.성 경 기 를 할 때 모든 문 제 를 자세히 보아 서 불필요 한 손실 을 초래 하지 않도록 해 야 한다.
해법 1:
팀 원 들 이 사용 하 는 방법 은 2 차원 그림 으로 대응 위치 가 이미 표시 되 었 다 면 계 수 를 넣 지 않 고 표시 되 지 않 았 다 면 표시 하고 계산 치 를 하나 더 하 는 것 이다.
코드:
#include<iostream>
#include<string>
#include<iomanip>
#include<cstring>
using namespace std;
int a[505],b[505];
int map[505][505];
int main()
{
int T,bus,m;
cin>>T;
while(T--)
{
cin>>bus>>m;
memset(map,0,sizeof(map));
int sum=0;
for(int i=1;i<=m;i++)
{
cin>>a[i];
}
for(int i=1;i<=m;i++)
{
cin>>b[i];
}
for(int i=1;i<=m;i++)
{
if(map[a[i]][b[i]]||map[b[i]][a[i]])
continue;
else
{
map[a[i]][b[i]]=1;
sum++;
}
}
double ans;
ans=sum*1.0/(bus*1.0);
cout<<fixed<<setprecision(3)<<ans<<endl;
}
}
해법 2:
제 생각 은 작은 것 을 곱 해서 1000(원시 데 이 터 는 최대 500 밖 에 안 되 기 때문에 구분 할 수 있 습 니 다)을 얻 을 수 있 고 큰 것 을 더 해서 set 로 무 게 를 줄 이면 됩 니 다.
코드:
#include <iostream>
#include <string>
#include <iomanip>
#include <set>
#include <algorithm>
using namespace std;
int a[505],b[505];
int main()
{
int T,bus,m,minn,maxx;
cin>>T;
while(T--)
{
set <int> cnt;
cin>>bus>>m;
for(int i=1;i<=m;i++)
{
cin>>a[i];
}
for(int i=1;i<=m;i++)
{
cin>>b[i];
}
for(int i=1;i<=m;i++)
{
minn=min(a[i],b[i]);
maxx=max(a[i],b[i]);
cnt.insert(minn*1000+maxx);
}
double ans;
ans=cnt.size()*1.0/bus;
cout<<fixed<<setprecision(3)<<ans<<endl;
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Nginx 입문 급 소 개 는 설치, 기본 사용, 부하 균형, 동정 분리, 역방향 에이전트, 캐 시 응용 등 기능 을 포함한다.nginx 공식 사이트 에서 원본 패키지 다운로드 (http://www.nginx.org/ ) 그리고 스트레스 를 푼다.본 고 를 발표 할 때 최신 판 1.3.0 이 방금 발표 되 었 으 니 1.2.0 을 사용 하 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.