2021/2/24CCF exercise 201604 (c++)

201604-1

#include <iostream>
using namespace std;
#define MAX 1000
int a[MAX];
int main()
{
    
    
	int n;
	cin>>n;
	for(int i=0;i<n;i++)
		cin>>a[i];
	int num=0;
	for(int i=1;i<n-1;i++)
	{
    
    
		if((a[i-1]>a[i]&&a[i+1]>a[i])||(a[i-1]<a[i]&&a[i+1]<a[i]))
			num++;
	}
	cout<<num<<endl;
	return 0;
}

201604-2 (non-original unresolved!!!)

#include <iostream>
#include <math.h>
#include <algorithm>
using namespace std;
int map[15][10];
int p[4][4];
int l;
int t[4] = {
    
    -1,-1,-1,-1};
int x[4],y[4];
int main()
{
    
    
	for (int i = 0; i < 15; i++)
	for (int j = 0; j < 10; j++)
	{
    
    
		cin >> map[i][j];
	}
	for (int i = 0; i < 4; i++)
	for (int j = 0; j < 4; j++)
	{
    
    
		cin >> p[i][j];
	}
	cin >> l;
	int c=0;
	for (int i = 0; i < 4; i++)
	for (int j = 0; j < 4; j++)
	{
    
    
		if (p[i][j])
			x[c] = i, y[c] = j,c++;
		if (p[j][i])
			t[i] = j;
	}
	int flag = 0;
	int cnt = 0;
	while (1)
	{
    
    
		for (int i = 0; i < 4; i++)
		{
    
    
			if (flag)break;
			if (t[i] + 1 >= 15)
			{
    
    
				flag = 1; break;
			}
			if (t[i] == -1)continue;
			if (map[t[i] + 1][l - 1 + i])
				flag = 1;
		}
		if (flag)break;
		for (int i = 0; i < 4; i++)
		{
    
    
			if (t[i] == -1)continue;
			t[i]++;
		}	
		cnt++;
	}
	for (int i = 0; i < 4; i++)
	{
    
    
		map[x[i] + cnt][l - 1 + y[i]] = 1;
	}
	for (int i = 0; i < 15; i++)
	{
    
    
		for (int j = 0; j < 10; j++)
		{
    
    
			cout << map[i][j] << " ";
		}
		cout << endl;
	}
	return 0;
}
/*
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0 0
1 1 1 0 0 0 1 1 1 1
0 0 0 0 1 0 0 0 0 0
0 0 0 1
0 0 0 1
0 0 0 1
0 0 0 1
7
*/

Guess you like

Origin blog.csdn.net/qq_40395925/article/details/114026382