Bit String Reordering(模拟题)

A - Bit String Reordering
Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%lld & %llu
Submit  Status  Practice  CSU 1536

Description

 

Input

 

Output

 

Sample Input

 
     
6 3
1 0 0 1 0 1
1 3 2

Sample Output

 
     
1
 
     
这题就是一道贪心+模拟题。
 
     
AC代码1:
 
     
 
     
#include
#include
#include
#include
#include
#include
using namespace std;
#define T 150
typedef long long ll;
int tar1[T],tar2[T],k,n,m;
int MoveBit(int i,int f,int tar[])
{
	int c = 0,j;
	for(j=i+1;j


 
     
AC代码2:
 
     
 
     
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define T 150
typedef long long ll;
int n,m;
struct node
{
	int x,c;
	node(){};
	node(int _x):x(_x),c(0){};
};
int vis[1000000];
int bfs(int src,int tar1,int tar2)
{
	queue t;
	node a,b;
	t.push(node(src));
	while(!t.empty())
	{
		a = t.front();t.pop();
		if(a.x==tar1||a.x==tar2)return a.c;
		for(int i=1;i>i)&1) ^ ((b.x>>(i-1))&1)){
				b.x ^= (1<


你可能感兴趣的:(模拟,模拟)