算法1-1模拟与高精度

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法1-1模拟与高精度相关的知识,希望对你有一定的参考价值。

https://www.luogu.com.cn/training/106#problems

目录

P1042 [NOIP2003 普及组] 乒乓球

乒乓球运动比赛规则11分制: 在一局比赛中,先得11分的一方为胜方。10平后,先夺得2分的一方为胜方。

#include<cstdio>
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
void print(string s,int score)

	int a=0,b=0;
	for(int i=0;i<s.size();i++)
	
		if(s[i]=='W') a++;
		if(s[i]=='L') b++;
		if(s[i]=='E') 
		
		    cout<<a<<":"<<b<<endl;
		    break;
		
		if(max(a,b)>=score&&abs(a-b)>=2)
		
			cout<<a<<":"<<b<<endl;
			a=0,b=0;
		
	

int main(void)

	string s,a;
	while(cin>>a) s+=a;
	print(s,11);
	cout<<endl;
	print(s,21);
	return 0;
 

P2670 [NOIP2015 普及组] 扫雷游戏

#include<bits/stdc++.h> 
using namespace std;
const int N=1e3+10;
int n,m,st[N][N];
string s[N];
void solve(int x,int y)

	for(int i=x-1;i<=x+1;i++)
		for(int j=y-1;j<=y+1;j++)
			if(i>=0&&i<=n-1&&y>=0&&y<=m-1&&s[i][j]=='*') st[x][y]++;

int main(void)

	cin>>n>>m;
	for(int i=0;i<n;i++) cin>>s[i];
	for(int i=0;i<n;i++)
		for(int j=0;j<m;j++)
			if(s[i][j]=='?') solve(i,j);
	for(int i=0;i<n;i++)
	
		for(int j=0;j<m;j++)
		
			if(s[i][j]=='*') cout<<s[i][j];
			else cout<<st[i][j];
		
		puts("");
	
	return 0;

P1563 [NOIP2016 提高组] 玩具谜题


P1601 A+B Problem(高精)

#include<bits/stdc++.h> 
using namespace std;
vector<int>A,B,C;
string a,b;
vector<int> add(vector<int> A,vector<int> B)

	int t=0;
	vector<int>c;
	for(int i=0;i<A.size()||i<B.size();i++)
	
		if(i<A.size()) t+=A[i];
		if(i<B.size()) t+=B[i];
		C.push_back(t%10);
		t/=10;
	
	if(t) C.push_back(1);
	return C;

int main(void)

	cin>>a>>b;
	for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');
	for(int i=b.size()-1;i>=0;i--) B.push_back(b[i]-'0');
	C=add(A,B);
	for(int i=C.size()-1;i>=0;i--) cout<<C[i];
	return 0;

以上是关于算法1-1模拟与高精度的主要内容,如果未能解决你的问题,请参考以下文章

算法AcWing 794. 高精度除法

算法:1高精度除法

高精度算法

算法课-大数专题

太牛了!GPU模拟地球,3D裸眼

模拟与高精度 P1042 乒乓球