B. Long Number1300 / 简单的贪心

Posted 幽殇默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了B. Long Number1300 / 简单的贪心相关的知识,希望对你有一定的参考价值。


https://codeforces.com/problemset/problem/1157/B

#include<bits/stdc++.h>
using namespace std;
int a[15];
int main(void)

	int n; cin>>n;
	string s; cin>>s;
	for(int i=1;i<=9;i++) cin>>a[i];
	for(int i=0;i<s.size();i++)
	
		int temp1=s[i]-'0';
		int temp2=a[temp1];
		if(temp2>temp1)
		
			s[i]='0'+temp2;
			int j=i+1;
			while(j<s.size())
			
				int temp1=s[j]-'0';
				int temp2=a[temp1];
				if(temp2>=temp1) s[j]='0'+temp2;
				else break;
				j++; 
			
			break;
		
	
	cout<<s<<endl;
	return 0;

以上是关于B. Long Number1300 / 简单的贪心的主要内容,如果未能解决你的问题,请参考以下文章

560 div3 B. Long Number

B. Dreamoon and WiFi1300 / 简单爆搜

B. Trouble Sort1300 / 思维

B. Shuffle1300 / 思维 区间合并

B. Random Teams1300 / 组合数学

B. Jzzhu and Sequences1300 / 思维 规律