2.25 做题

cpp 复制代码
#include<iostream>
#include<vector>
using namespace std;
#define LL long long;
int main()
{
	int row, col; cin >> row >> col;
	vector<vector<int>>arr(row + 5, vector<int>(col + 5));
	for (int i = 0; i < row; i++)
	{
		for (int j = 0; j < col; j++)
		{
			cin >> arr[i][j];
		}
	}
	int top = 0;
	int bottom = row-1;
	int left = 0;
	int right = col - 1;
	while (top <= bottom && left <= right)
	{
		for (int i = left; i <= right; i++)
		{
			cout << arr[top][i] << endl;
		}
		top++;
		for (int i = top; i <= bottom; i++)
		{
			cout << arr[i][right] << endl;
		}
		right--;
		if (top <= bottom)
		{
			for (int i = right; i >= left; i--)
			{
				cout << arr[bottom][i] << endl;
			}
		}
		bottom--;
		if (left <= right)
		{
			for (int i = bottom; i >= top; i--)
			{
				cout << arr[i][left] << endl;
			}
		}
		left++;
	}
	return 0;
}

思路:环形输出,四个for循环,第一个for是上面的从左到右,第二个是右边从上到下,第三个是底下从右到左,第四个是左边的从下到上,一个圈循环完毕,while里面的条件是保证至少有一列和一行,但是前两个for之后,行和列都减少了一个,不能保证还有,所以后两个循环要加if条件

cpp 复制代码
#include <iostream>
#include <string>
#include <vector>
using namespace std;
const int MOD = 10000;
int main() {
    string s;
    cin >> s;
    vector<long long> st;
    long long num = 0;
    char last_op = '+';
    for (int i = 0; i <= s.size(); ++i) {
        if (i < s.size() && isdigit(s[i])) {
            num = num * 10 + (s[i] - '0');
            num %= MOD;
        } else {
            if (last_op == '+') {
                st.push_back(num);
            } else if (last_op == '*') {
                long long top = st.back();
                st.pop_back();
                st.push_back((top * num) % MOD);
            }
            num = 0;
            if (i < s.size()) {
                last_op = s[i];
            }
        }
    }
    long long ans = 0;
    for (int i = 0; i < st.size(); ++i) {
        ans = (ans + st[i]) % MOD;
    }
    cout << ans << endl;
    return 0;
}

就是先把所有数字放进栈中,如果有乘法,先乘后入栈,入栈后全部遍历相加,最后取模

相关推荐
SelectDB9 小时前
部署形态与存算分离速查:形态对照、配置项清单与关键命令片段
大数据·数据结构·数据库
geats人山人海9 小时前
现代c++2.4 虚继承
java·开发语言·c++
csuzhucong10 小时前
天元一号、二号、三号
c++
垆边人似月.10 小时前
华为题:敏感词替换
算法
0+11110 小时前
算法 --哈希表
数据结构·算法·散列表
灯澜忆梦10 小时前
【面向对象编程c++】| 数组与函数
java·数据结构·c++
起个名字费劲死了10 小时前
VisionMaster 十二点标定+单点抓取
c++·visionmaster
Interview Aid11211 小时前
Stripe VO 面经汇总:5 轮面试题目与考察重点
算法
EEET智选11 小时前
科技晨间速报 | AI 安全警钟、开源新模型与苹果智能家居
人工智能·科技·算法·机器学习·ai
挖掘狂人11 小时前
哈希算法:一根看不见的 "指纹",如何撑起整个互联网
算法·程序员·掘金技术征文