CCPC-Wannafly Camp Day7 总结

CCPC-Wannafly Camp Day7 总结

7-8 7H。ゲーム

これらの図は、nはそれぞれ1を有しています。あなたはこれらの番号で遊ぶいくつかのラウンド。各ラウンドのため、桁数以上の残りならば、2つのランダムに残りの数字を選択する確率が削除そう。これら2つの素数場合は、ポイントを持っています。何の数字を削除できなくなるまで繰り返します。最後に、期待など、どのように私が求めることができますか?

入力フォーマット
線整数n(1≤n≤5000)。

出力形式の
出力は、最も簡単なの数
B Aは答えを表しています。


サンプル入力
2

4

サンプル出力
1/1

5/3

思考

長い時間のための直接出力0/0 0、WAの初めから......

#include<iostream>
#include<vector>
#define ll long long
using namespace std;
ll gcd(ll a, ll b)
{
	if(a%b==0)
		return b;
	else 
		return gcd(b, a%b);
}
int main()
{
	ll n, x=0, fenmu, fenzi;
	cin>>n;
	if(n==1)
	{
		cout<<"0/1"<<endl;
		return 0; 
	}
	for(ll i=1; i<=n; i++)
	{
		for(ll j=i+1; j<=n; j++)
		{
			if(gcd(i, j)==1)
			{
				x++;
			}
		}
	}
	fenzi=x*(n/2)*2;
	fenmu=n*(n-1);
	ll mod=gcd(fenmu, fenzi);
	fenmu/=mod;
	fenzi/=mod;
	cout<<fenzi<<"/"<<fenmu<<endl;
}

7-11 7K。練習

二重のゲームがあり、2人のプレイヤーは2つの文字を制御し、2つの文字の能力はV1、V2で表すことができ、2の初期容量がゼロです。

ゲームの単位は日で、二人の男が持ち上げた日々は、A1 + = 1またはA2 + = 1をさせ、加えて、毎日のポイントを取得する機能をA2能力値をA1ます。

彼らは、あなたが習慣と上司を再生することができ、十分な長さの練習まで待ちます。

レイダーズをチェックして、小さなワウ・ワウは、能力が長いv1≥b1とv2≥b2として、国境を越えることができるような値の最後の2つの組み合わせを見つけることができます。

多くの方法の隙間があるので、そこにグループB1、B2の多くの組み合わせであってもよく、限りクリアランスのいずれかを設定することができますよう。

今、最短日缶クリアランスを知りたいワウ小さなワウ。

入力フォーマット
最初の行番号2は、A1、A2(0≤a1、A2 <表し 100000)。

次の行番号n(1≤n≤1000)を入力します。

次のn行、各行番号2、グループ缶クリアランスB1を表し、B2(0 <B1、B2 <10
。9
)。

出力形式
最小クリアランス数は日数を示します。

入力サンプル
0 0
。1
。1 2

1 1
2
5 7
6 6

サンプル出力
2

3

思考

コードを見てください

#include<iostream>
using namespace std;
struct all
{
	long long b1,b2;
};
all a[1005],b[1005];
long long chu(long long aa,long long bb)
{
	if(aa<=0) return 0;
	else
	{
		if(bb==0) return aa+1000000000;
		else
		{
			if(aa%bb==0) return aa/bb;
			else return aa/bb+1;
		}
	}
}
int main()
{
	long long a1,a2,v1=0,v2=0;
	cin>>a1>>a2;
	long long n;
	cin>>n;
	long long minx=1000000000009;
	for(int i=1; i<=n; i++)
	{
		cin>>a[i].b1>>a[i].b2;
	}
	
	long long minas=1000000000009;
	long long we=a1,qe=a2;
	for(long long j=1; j<=n; j++)
	{
		v1=0;v2=0;
		a1=we;
		a2=qe;
		for(long long i=1;;i++)
		{
			if(chu(a[j].b2-v2,a2)>=chu(a[j].b1-v1,a1))
			{
				a2++;
			}
			else a1++;
			v1+=a1;
			v2+=a2;
			if(v1>=a[j].b1&&v2>=a[j].b2)
			{
				minas=min(i,minas);
				break;
			}
		}
	}
	cout<<minas<<endl;
	return 0;
} 

最後にオーバー......通勤......
幸せ

公開された28元の記事 ウォンの賞賛3 ビュー1734

おすすめ

転載: blog.csdn.net/ArwenNi/article/details/104080478