soruya ulaşmak için
http://www.tbdgenc.com/2011/02/subat-2011-bulteni-ve-odullu-programlama-sorusu/
#include<iostream>
using namespace std;
int arayasokma(int A[],int uzunluk)
{
int i,k,ekle;
for (i=1;i<uzunluk;i++)
{
ekle=A[i];
for (k=i-1;k>=0 && ekle<=A[k];k--)
{
A[k+1]=A[k];
}
A[k+1]=ekle;
}
}
int main()
{
int A, N;
cin>>A;
cin>>N;
float durumsayisi=(N*(N-1))/2; // durumsayisi kadar farkli 2 li olusturulabilir
float pay=0;
int uzaklik[N];
int parcalar[3]; // herhangi iki farkli dugum acildiginde 3 parca olusur
for (int i=0;i<N;i++) // girilen degerler birbirinden farkli olmali
{
cin>>uzaklik[i];
}
arayasokma(uzaklik,N);
for (int i=0;i<N;i++)
{
for (int j=i+1;j<N;j++)
{
parcalar[0]=uzaklik[i];
parcalar[1]=uzaklik[j]-uzaklik[i];
parcalar[2]=100-uzaklik[j];
if ((parcalar[0]>=A) || (parcalar[1]>=A) || (parcalar[2]>=A))
pay++;
}
}
cout<<pay/durumsayisi;
return 0;
}
Hiç yorum yok:
Yorum Gönder