zoukankan      html  css  js  c++  java
  • 2021.1.17高一模拟赛题解

    点我下载题目

    T1

    绫濑的作业 | ayase.cpp

    就根据题意慢慢模拟就行了
    只用 if 就能AC的水题
    不过还是有几个坑点的:
    比如负号。
    (mitruha逐渐CCF化)

    #include <bits/stdc++.h>
    using namespace std ;
     
    double x, v1, v2, v3, t;
    char ch1, ch2;
    double level = 0;
    
    int main () 
    {
        ios::sync_with_stdio(false);
        cin.tie(0);
    
        freopen("ayase.in", "r", stdin);
        freopen("ayase.out", "w", stdout);
    	
        cin >> x >> v1;
        
        if (x < 0) v1 *= -1;
        level += v1;
        
        cin >> ch1 >> v2;
        
        if (ch1 == 'W') v2 *= -1;
        level += v2;
        
        cin >> ch2 ;
        if (ch2 == 'Y') 
        {
            cin >> ch2 >> v3;
            
            if (ch2 == 'W') v3 *= -1;	
            level += v3;
        }
        
        if (level == 0) 
        {
    	puts("No solution!");
    	exit(0);
        }
    	
        t = x / level;
        
        if (t < 0)
    	puts("No solution!");
        else
    	cout << ceil(t);
        return 0;
    }
    

    T2

    七海的烦恼 | nanami.cpp

    不难想到用DFS做
    先写出把每个灯更新的函数:

    inline void update(int X, int Y)
    {
    	light[X][Y] = 1 - light[X][Y];
    	light[X + 1][Y] = 1 - light[X + 1][Y];
    	light[X - 1][Y] = 1 - light[X - 1][Y];
    	light[X][Y + 1] = 1 - light[X][Y + 1];
    	light[X][Y - 1] = 1 - light[X][Y - 1];
    }
    

    然后把每一个点都搜一遍
    不过要注意剪枝,否则你会喜提TLE
    AC代码:

    #include <bits/stdc++.h>
    using namespace std;
    const int N = 10;
    int Min_ans = 10;
    int light[N][N];
    int ans = 0;
    
    inline int mitru_read()
    {
    	int s = 0, w = 1;
    	char ch = getchar();
    	while(ch < '0' || ch > '9')
    	{
    		if(ch == '-')
    			w = -1;
    		ch = getchar();
    	}
    	while(ch >= '0' && ch <= '9')
    		s = s * 10 + (ch ^ 48), ch = getchar();
    	return s * w; 
    }
    
    inline void update(int X, int Y)
    {
    	light[X][Y] = 1 - light[X][Y];
    	light[X + 1][Y] = 1 - light[X + 1][Y];
    	light[X - 1][Y] = 1 - light[X - 1][Y];
    	light[X][Y + 1] = 1 - light[X][Y + 1];
    	light[X][Y - 1] = 1 - light[X][Y - 1];
    }
    
    inline void dfs(int cnt)
    {
    	if(cnt > Min_ans)
    		return;
    	int tot = 0;
    	for(register int i = 1; i <= 3; i++)
    	{
    		for(register int j = 1; j <= 3; j++)
    		{
    			tot += light[i][j];
    		}
    	}
    	if(tot == 9)
    	{
    		ans = cnt - 1;
    		if(ans < Min_ans)
    			Min_ans = ans;
    	}
    	for(register int i = 1; i <= 3; i++)
    	{
    		for(register int j = 1; j <= 3; j++)
    		{
    			update(i, j);
    			dfs(cnt + 1);
    			update(i, j);
    		}
    	}
    	return;
    }
    
    int main()
    {
    	freopen("nanami.in", "r", stdin);
    	freopen("nanami.out", "w", stdout);
    	
    	ios::sync_with_stdio(false);
    	cin.tie(0);
    	
    	for(register int i = 1; i <= 3; i++)
    	{
    		for(register int j = 1; j <= 3; j++)
    		{
    			light[i][j] = mitru_read();
    		}
    	}
    	dfs(1);
    	cout << ans;
    	return 0;
    }
    

    T3

    茉优的房间 | mayu.cpp

    推出来是斐波那契数列
    直接算,都可以算

    #include <bits/stdc++.h>
    using namespace std;
    const int Maxn = 1e4;
    typedef long long ll;
    
    inline int mitru_read()
    {
    	int s = 0, w = 1;
    	char ch = getchar();
    	while(ch < '0' || ch > '9')
    	{
    		if(ch == '-')
    			w = -1;
    		ch = getchar();
    	}
    	while(ch >= '0' && ch <= '9')
    		s = s * 10 + (ch ^ 48), ch = getchar();
    	return s * w; 
    }
    
    int m, n;
    ll f[Maxn];
    
    int main()
    {
    	ios::sync_with_stdio(false);
    	cin.tie(0);
    	
    	freopen("mayu.in", "r", stdin);
    	freopen("mayu.out", "w", stdout);
    	
    	m = mitru_read();
    	n = mitru_read();
    	f[1] = 1, f[2] = 2;
    	
    	for(int i = 3; i <= n - m; i++) 
    		f[i] = f[i - 1] + f[i - 2];
    
    	cout << f[n - m];
    	return 0;
    } 
    

    TX
    梦 | yami.cpp
    az
    我不会做

  • 相关阅读:
    hdu 1823 Luck and Love 二维线段树
    UVA 12299 RMQ with Shifts 线段树
    HDU 4578 Transformation 线段树
    FZU 2105 Digits Count 线段树
    UVA 1513 Movie collection 树状数组
    UVA 1292 Strategic game 树形DP
    【ACM】hdu_zs2_1003_Problem C_201308031012
    qsort快速排序
    【ACM】nyoj_7_街区最短路径问题_201308051737
    【ACM】nyoj_540_奇怪的排序_201308050951
  • 原文地址:https://www.cnblogs.com/misaka1932/p/14289357.html
Copyright © 2011-2022 走看看