hdu4671(다교리그 7--수 시뮬레이션)
제목:
n과 서버, m개의 데이터베이스가 있고 모든 데이터베이스는 서버를 연결해야 하지만 모든 데이터베이스는 서버를 연결하는 우선순위가 있습니다.모든 데이터베이스의 서버 우선순위를 구하다.또한 한 대의 서버가 고장난 상황에서 다른 서버의 균형을 보증한다(i, j는 각각 서버를 표시하고 A[i], A[j]는 해당 서버가 연결된 데이터베이스의 수를 나타낸다. 균형은 임의의 i와 j를 가리킨다. 모두 |A[i]-A[j]|<=1을 보증한다. 즉, 한 대 또는 두 대가 바뀌면 다른 서버가 연결된 데이터베이스의 수를 평균적으로 분배해야 한다는 것이다.
기껏해야 한 대가 고장났기 때문에 두 분만 생각하시면 됩니다.
n>m일 때
1 n...
2 n...
3 n...
n=m일 때 마지막 줄을 n1로 바꿔서...
n
n=5,m=13
1 5
2 5
3 5
4 5
5 4(5=5,--5)
1 4
2 4
3 4
4 3(--4)
5 3
1 3
2 3
3 2
분석: 매번 그것을 평균 분배한다...
#include"stdio.h"
#include"string.h"
#define N 203
int map[N][N];
int n,m;
int main()
{
int n,m;
int i,j;
while(scanf("%d%d",&n,&m)!=-1)
{
if(n>=m)
{
j=1;
for(i=1;i<=m;i++)
{
map[i][1]=j++;
map[i][2]=n;
}
if(n==m)map[m][1]=n,map[m][2]=1;
}
else
{
int t=1;
for(i=1;i<=m;i++)
{
map[i][1]=t++;
if(t>n)t=1;
}
t=n;
for(i=1;i<=m;i++)
{
if(t==map[i][1])t--;
if(t<1)t=n;
map[i][2]=t;
}
}
for(i=1;i<=m;i++)
{
printf("%d %d",map[i][1],map[i][2]);
for(j=1;j<=n;j++)
{
if(j==map[i][1]||j==map[i][2])continue;
printf(" %d",j);
}
printf("
");
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[HDU] 4089 활성화 확률 DPdp[i][j]를 모두 i개인의 대기열인 Tomato가 j위 서버가 마비될 확률로 역추를 사용하면 우리는 상태 이동 방정식을 얻을 수 있다. i == 1 : dp[1][1] = dp[1][1] * p1 + dp[1]...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.