L1-102 兰州牛肉面、 L1-103 整数的持续性、L1-104 九宫格

PAT天梯赛L1-102 兰州牛肉面 c语言 输入第一行给出一个正整数 N(≤100),为牛肉面的种类数量。这里为了简单起见,我们把不同种类的牛肉面从 1 到 N 编号,以后就用编号代替牛肉面品种的名称。第二行给出 N 个价格,第 i 个价格对应第 i 种牛肉面一碗的单价。这里的价格是 [0.01, 200.00] 区间内的实数,以元为单位,精确到分。品种编号 碗数其中碗数保证是正整数。当对应的品种编号为0时,表示输入结束。这个记录不算在内。 阅读详情

L1-102 兰州牛肉面

题目

兰州牛肉面是历史悠久的美食,根据牛肉面的宽窄、配料的种类,可以细分为上百个不同的品种。你进到兰州的任何一家牛肉面馆,只说:“来一碗牛肉面!”就好像进到加州的咖啡馆说“来一杯咖啡”一样,会被店主人当成外星人……
本题的任务是,请你写程序帮助一家牛肉面馆的老板统计一下,他们一天卖出各种品种的牛肉面有多少碗,营业额一共有多少。

输入格式

输入第一行给出一个正整数 N(≤100),为牛肉面的种类数量。这里为了简单起见,我们把不同种类的牛肉面从 1 到 N 编号,以后就用编号代替牛肉面品种的名称。第二行给出 N 个价格,第 i 个价格对应第 i 种牛肉面一碗的单价。这里的价格是 [0.01, 200.00] 区间内的实数,以元为单位,精确到分。
随后是一天内客人买面的记录,每条记录占一行,格式为:

品种编号 碗数
其中碗数保证是正整数。当对应的 品种编号 为 0 时,表示输入结束。这个记录不算在内。

输出格式

首先输出 N 行,第 i 行输出第 i 种牛肉面卖出了多少碗。最后一行输出当天的总营业额,仍然是以元为单位,精确到分。题目保证总营业额不超过 10^6。

输入样例

5
4.00 8.50 3.20 12.00 14.10
3 5
5 2
1 1
2 3
2 2
1 9
0 0

输出样例

10
5
5
0
2
126.70

完整代码

#include <iostream>
#include <cstdio>
using namespace std;

int main() {
    int n;
    cin >> n;  // 面的种类数

    double price[105];       // 存每种面的价格
    int cnt[105] = {0};      // 存每种面卖了多少碗,初始化为0

    // 读入价格
    for (int i = 1; i <= n; i++) {
        cin >> price[i];
    }

    // 读入订单,直到 0 0 停止
    int id, num;
    while (cin >> id >> num) {
        if (id == 0 && num == 0) break;
        cnt[id] += num;  // 对应品种累加碗数
    }

    // 输出每种面的销量
    for (int i = 1; i <= n; i++) {
        cout << cnt[i] << endl;
    }

    // 计算总营业额
    double total = 0;
    for (int i = 1; i <= n; i++) {
        total += cnt[i] * price[i];
    }

    // 输出总金额,保留两位小数
    printf("%.2f", total);

    return 0;
}
#include<iostream>
#include <cstdio>  // 必须添加,用于 printf

using namespace std;

int main(){
    int n;//牛肉面的种类数量
    double  arr[105][2]={0};//arr[105][1]数量,arr[105][2]价格
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>arr[i][1];
    }
    int index,num;
    while(cin>>index>>num){
        if(index==0 && num==0) break;
        arr[index-1][0]+=num;
    }
    double sum=0;
    for(int i=0;i<n;i++){
        cout << arr[i][0]<<endl;
        sum+=arr[i][0]*arr[i][1];
    };
    printf("%.2f\n",sum);
    return 0;
}

L1-103 整数的持续性

题目

从任一给定的正整数 n 出发,将其每一位数字相乘,记得到的乘积为 n1。以此类推,令 ni+1 为 ni 的各位数字的乘积,直到最后得到一个个位数 nm,则 m 就称为 n 的持续性。例如 679 的持续性就是 5,因为我们从 679 开始,得到 6×7×9=378,随后得到 3×7×8=168、1×6×8=48、4×8=32,最后得到 3×2=6,一共用了 5 步。

本题就请你编写程序,找出任一给定区间内持续性最长的整数。

输入格式

输入在一行中给出两个正整数 a 和 b(1≤a≤b≤10^9 且 (b−a)<10^3),为给定区间的两个端点。

输出格式

首先在第一行输出区间 [a,b] 内整数最长的持续性。随后在第二行中输出持续性最长的整数。如果这样的整数不唯一,则按照递增序输出,数字间以 1 个空格分隔,行首尾不得有多余空格。

输入样例

500 700

输出样例

5
679 688 697


代码

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

// 计算一个数字的持续性
int getLen(long long x) {
    int cnt = 0;
    while (x >= 10) {
        long long p = 1;
        // 计算各位乘积
        while (x > 0) {
            p *= x % 10;
            x /= 10;
//小数直接扔掉,只留整数部分!
        }
        x = p;
        cnt++;
    }
    return cnt;
}

int main() {
    int a, b;
    cin >> a >> b;

    int max_len = -1;
    vector<int> res;

    for (int i = a; i <= b; i++) {
        int now = getLen(i);
        if (now > max_len) {
            max_len = now;
            res.clear();
            res.push_back(i);
        } else if (now == max_len) {
            res.push_back(i);
        }
    }

    // 输出
    cout << max_len << endl;
    for (int i = 0; i < res.size(); i++) {
        if (i > 0) cout << " ";
        cout << res[i];
    }
    cout << endl;

    return 0;
}

1. 函数 getLen(x)

作用:计算数字 x 的持续性

  • 循环:直到 x 变成 1 位数 停止
  • 每一轮:把 x 的每一位相乘得到新数
  • 每乘一轮,计数 +1
  • 最终返回轮次(即持续性)

2. 主程序逻辑

  • 遍历 [a, b] 所有数字
  • 记录最大持续性 max_len
  • 用 vector 保存所有持续性最长的数字
  • 按要求输出(自动递增,因为我们从小到大遍历)

3. 为什么用 long long

因为数字乘积可能爆 int,用 long long 保证不溢出。

999999999(9位)
各位相乘 = 9×9×9×9×9×9×9×9×9 = 387,420,489

这个数 超过 int 安全计算范围,用 int 会溢出出错!

所以:只要涉及“各位相乘” → 统一用 long long 最安全!
乘法、大数、位数相乘

int(整数,常用)

  • 占 4字节
  • 范围:-2147483648 ~ 2147483647
  • 大约:-21亿 ~ 21亿

long(长整型)

  • 和 int 一样大(多数编译器)
  • 范围:-2147483648 ~ 2147483647

long long(长长整型)

  • 占 8字节
  • 范围:-9223372036854775808 ~ 9223372036854775807
  • 大约:-900京 ~ 900京
  • 做题遇到乘积、大数 → 必须用 long long

L1-104 九宫格

题目

L1-104 九宫格
分数 20
作者 陈越
单位 浙江大学

九宫格是一款数字游戏,传说起源于河图洛书,现代数学中称之为三阶幻方。游戏规则是:将一个 9×9 的正方形区域划分为 9 个 3×3 的正方形宫位,要求 1 到 9 这九个数字中的每个数字在每一行、每一列、每个宫位中都只能出现一次。

本题并不要求你写程序解决这个问题,只是对每个填好数字的九宫格,判断其是否满足游戏规则的要求。

输入格式

输入首先在第一行给出一个正整数 n(≤10),随后给出 n 个填好数字的九宫格。每个九宫格分 9 行给出,每行给出 9 个数字,其间以空格分隔。

输出格式

对每个给定的九宫格,判断其中的数字是否满足游戏规则的要求。满足则在一行中输出 1,否则输出 0。

输入样例

3
5 1 9 2 8 3 4 6 7
7 2 8 9 6 4 3 5 1
3 4 6 5 7 1 9 2 8
8 9 2 1 4 5 7 3 6
4 7 3 6 2 8 1 9 5
6 5 1 7 3 9 2 8 4
9 3 4 8 1 6 5 7 2
1 6 7 3 5 2 8 4 9
2 8 5 4 9 7 6 1 3
8 2 5 4 9 7 1 3 6
7 9 6 5 1 3 8 2 4
3 4 1 6 8 2 7 9 5
6 8 4 2 7 1 3 5 9
9 1 2 8 3 5 6 4 7
5 3 7 9 6 4 2 1 8
2 7 9 1 5 8 4 6 3
4 5 8 3 2 6 9 7 1
1 6 3 7 4 9 5 8 3
81 2 5 4 9 7 1 3 6
7 9 6 5 1 3 8 2 4
3 4 1 6 8 2 7 9 5
6 8 4 2 7 1 3 5 9
9 1 2 8 3 5 6 4 7
5 3 7 9 6 4 2 1 8
2 7 9 1 5 8 4 6 3
4 5 8 3 2 6 9 7 1
1 6 3 7 4 9 5 8 2

输出样例

1
0
0

完整代码(4种解法)

方法1:数组标记(最常用)

#include <iostream>
#include <cstring>
using namespace std;

// 检查3x3宫 (bx, by):0~2
bool checkBox(int a[9][9], int bx, int by) {
    int cnt[10] = {0};
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            int x = bx * 3 + i;
            int y = by * 3 + j;
            int num = a[x][y];
            if (num < 1 || num > 9) return false; // 非法数字
            cnt[num]++;
            if (cnt[num] > 1) return false;
        }
    }
    return true;
}

// 检查第row行
bool checkRow(int a[9][9], int row) {
    int cnt[10] = {0};
    for (int j = 0; j < 9; j++) {
        int num = a[row][j];
        if (num < 1 || num > 9) return false;
        cnt[num]++;
        if (cnt[num] > 1) return false;
    }
    return true;
}

// 检查第col列
bool checkCol(int a[9][9], int col) {
    int cnt[10] = {0};
    for (int i = 0; i < 9; i++) {
        int num = a[i][col];
        if (num < 1 || num > 9) return false;
        cnt[num]++;
        if (cnt[num] > 1) return false;
    }
    return true;
}

// 整体判断
bool isValid(int a[9][9]) {
    // 检查所有行
    for (int i = 0; i < 9; i++)
        if (!checkRow(a, i)) return false;
    // 检查所有列
    for (int j = 0; j < 9; j++)
        if (!checkCol(a, j)) return false;
    // 检查所有3x3宫
    for (int bx = 0; bx < 3; bx++)
        for (int by = 0; by < 3; by++)
            if (!checkBox(a, bx, by)) return false;
    return true;
}

int main() {
    int n, a[9][9];
    cin >> n;
    while (n--) {
        for (int i = 0; i < 9; i++)
            for (int j = 0; j < 9; j++)
                cin >> a[i][j];
        cout << (isValid(a) ? 1 : 0) << endl;
    }
    return 0;
}

方法2:求和判断(简单但有漏洞,仅辅助)

#include <iostream>
using namespace std;

// 宫求和(有漏洞:1+1+...+37=45)
bool checkBoxSum(int a[9][9], int bx, int by) {
    int sum = 0;
    for (int i = 0; i < 3; i++)
        for (int j = 0; j < 3; j++)
            sum += a[bx*3+i][by*3+j];
    return sum == 45;
}

bool checkRowSum(int a[9][9], int row) {
    int sum = 0;
    for (int j = 0; j < 9; j++) sum += a[row][j];
    return sum == 45;
}

bool checkColSum(int a[9][9], int col) {
    int sum = 0;
    for (int i = 0; i < 9; i++) sum += a[i][col];
    return sum == 45;
}

bool isValidSum(int a[9][9]) {
    for (int i=0; i<9; i++) if (!checkRowSum(a,i)) return false;
    for (int j=0; j<9; j++) if (!checkColSum(a,j)) return false;
    for (int bx=0; bx<3; bx++)
        for (int by=0; by<3; by++)
            if (!checkBoxSum(a,bx,by)) return false;
    return true;
}

int main() {
    int n,a[9][9];
    cin>>n;
    while(n--) {
        for(int i=0;i<9;i++)
            for(int j=0;j<9;j++)
                cin>>a[i][j];
        // ⚠️ 仅求和会误判,必须搭配数字范围+重复检查
        cout << (isValidSum(a) ? 1 : 0) << endl;
    }
    return 0;
}

方法3:set 去重

#include <iostream>
#include <set>
using namespace std;

bool checkBoxSet(int a[9][9], int bx, int by) {
    set<int> s;
    for (int i=0; i<3; i++) {
        for (int j=0; j<3; j++) {
            int num = a[bx*3+i][by*3+j];
            if (num<1||num>9) return false;
            s.insert(num);
        }
    }
    return s.size() == 9;
}

bool checkRowSet(int a[9][9], int row) {
    set<int> s;
    for (int j=0; j<9; j++) {
        int num = a[row][j];
        if (num<1||num>9) return false;
        s.insert(num);
    }
    return s.size() == 9;
}

bool checkColSet(int a[9][9], int col) {
    set<int> s;
    for (int i=0; i<9; i++) {
        int num = a[i][col];
        if (num<1||num>9) return false;
        s.insert(num);
    }
    return s.size() == 9;
}

bool isValidSet(int a[9][9]) {
    for (int i=0; i<9; i++) if (!checkRowSet(a,i)) return false;
    for (int j=0; j<9; j++) if (!checkColSet(a,j)) return false;
    for (int bx=0; bx<3; bx++)
        for (int by=0; by<3; by++)
            if (!checkBoxSet(a,bx,by)) return false;
    return true;
}

int main() {
    int n,a[9][9];
    cin>>n;
    while(n--) {
        for(int i=0;i<9;i++)
            for(int j=0;j<9;j++)
                cin>>a[i][j];
        cout << (isValidSet(a) ? 1 : 0) << endl;
    }
    return 0;
}

方法4:位运算

#include <iostream>
using namespace std;

bool checkBoxBit(int a[9][9], int bx, int by) {
    int mask = 0;
    for (int i=0; i<3; i++) {
        for (int j=0; j<3; j++) {
            int num = a[bx*3+i][by*3+j];
            if (num<1||num>9) return false;
            if (mask & (1 << num)) return false;
            mask |= (1 << num);
        }
    }
    return mask == 0b1111111110; // 二进制10位:第1~9位为1
}

bool checkRowBit(int a[9][9], int row) {
    int mask = 0;
    for (int j=0; j<9; j++) {
        int num = a[row][j];
        if (num<1||num>9) return false;
        if (mask & (1 << num)) return false;
        mask |= (1 << num);
    }
    return mask == 0b1111111110;
}

bool checkColBit(int a[9][9], int col) {
    int mask = 0;
    for (int i=0; i<9; i++) {
        int num = a[i][col];
        if (num<1||num>9) return false;
        if (mask & (1 << num)) return false;
        mask |= (1 << num);
    }
    return mask == 0b1111111110;
}

bool isValidBit(int a[9][9]) {
    for (int i=0; i<9; i++) if (!checkRowBit(a,i)) return false;
    for (int j=0; j<9; j++) if (!checkColBit(a,j)) return false;
    for (int bx=0; bx<3; bx++)
        for (int by=0; by<3; by++)
            if (!checkBoxBit(a,bx,by)) return false;
    return true;
}

int main() {
    int n,a[9][9];
    cin>>n;
    while(n--) {
        for(int i=0;i<9;i++)
            for(int j=0;j<9;j++)
                cin>>a[i][j];
        cout << (isValidBit(a) ? 1 : 0) << endl;
    }
    return 0;
}

#include<iostream>
using namespace std;
int a[9][9];
// 检查所有 3×3 宫
bool check(int a[9][9]) {
    int i = 0, j = 0;
    
    // 遍历所有宫的起始行:0,3,6
    while (i <= 6) {
        j = 0;
        
        // 遍历所有宫的起始列:0,3,6
        while (j <= 6) {
            int cnt[10] = {0}; // 每个宫重新计数
            int k = 0, m = 0;

            // 遍历宫内 3 行
            while (k < 3) {
                m = 0;
                // 遍历宫内 3 列
                while (m < 3) {
                    int num = a[i + k][j + m];
                    cnt[num]++;
                    
                    // 重复了
                    if (cnt[num] > 1)
                        return false;
                    
                    m++;
                }
                k++;
            }
            
            // 下一列宫
            j += 3;
        }
        // 下一行宫
        i += 3;
    }

    // 全部检查通过
    return true;
}
//检查行
bool check_row(int a[9][9]){
    int i, j ;
    for(i = 0;i<9;i++){
        int cnt[10] = {0}; 
         for(j=0;j<9;j++){
             cnt[a[i][j]-1]++;
            // 重复了
            if (cnt[a[i][j]-1] > 1){
                return false;
            }
         }
    }
    // 全部检查通过
    return true;
}
//检查列
bool check_col(int a[9][9]){
    int i , j ;
    for(i= 0;i<9;i++){
        int cnt[10] = {0}; 
         for(j= 0;j<9;j++){
             cnt[a[j][i]-1]++;
            // 重复了
            if (cnt[a[j][i]-1] > 1){
                return false;
            }
         }
    }
    // 全部检查通过
    return true;
}
int main (){
    int n;
    cin>>n;
    while(n--){
        for(int i=0;i<9;i++){
            for(int j=0;j<9;j++){
                cin>>a[i][j];
            }
        }
        if(check_col(a)&&check_row(a)&&check(a)){
                        cout <<"1";
            if(n!=0){
                cout<<endl;
            }
        }else{
        cout <<"0";
            if(n!=0){
                cout<<endl;
            }
        }
        
    }
    return 0;
}


PTA实验4 7-1 【C0139】输出所有的水仙花数 (10分)若一个三位数等于其各位上数字的立方和,则称这个三位数为水仙花数。编写一个程序,输出所有的水仙花数。 输入格式: 无输入 输出格式: 按照从小到大的顺序输出所有水仙花数,一行输出一个数。 输入样例: 在这里给出一组输入。例如: 输出样例: 在这里给出相应的输出。例如: 153 370 371 407 #include <stdio.h>... 阅读详情

相关推荐

团体程序设计天梯赛竞赛题--基础题L1(081-120)

2018 年我们曾经出过一题,是输出“2018 我们要赢”。今年是 2022 年,你要输出的句子变成了“我要赢!就在今天!”然后以比赛当天的日期落款。本题没有输入。输出分 2 行。在第一行中输出 ,在第二行中用 的格式输出比赛当天的日期。已知比赛的前一天是 。 输出样例(第二行的内容要你自己想一想,这里不给出): 代码内容 L1-082 种钻石 题目描述 2019年10月29日,中央电视台专题报道,中国科学院在培育钻石领域,取得科技突破。科学家们用金刚石的籽晶片作为种子,利用甲烷气体在能量作用下形

Pretty Boy Fox的博客 1078

兰州牛肉面

兰州牛肉面是历史悠久的美食,根据牛肉面的宽窄、配料的种类,可以细分为上百个不同的品种。你进到兰州的任何一家牛肉面馆,只说:“来一碗牛肉面!”就好像进到加州的咖啡馆说“来一杯咖啡”一样,会被店主人当成外星人……本题的任务是,请你写程序帮助一家牛肉面馆的老板统计一下,他们一天卖出各种品种的牛肉面有多少碗,营业额一共有多少。

Pretty Boy Fox的博客 2727

Java面向对象程序设计方案练习题.doc

【练习题】01.类的成员变量 猜数字游戏 一个类A有一个成员变量v 有一个初值100。定义一个类 对A类的成员变量v 进行猜。如果大了则提示大了 小了则提示小了。等于则提示猜测成功。 【练习题】02.类的成员变量 请定义一个交通工具(Vehicle)的类 其中有: 属性 速度(speed) 体积(size)等等 方法 移动(move()) 设置速度(setSpeed(int speed)) 加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象 并通过方法给它初始化sp eed,size的值 并且通过打印出来。另外 调用加速 减速的方法对速度进行改变。 【练习题】03.类的成员变量与方法、构造方法 在程序中 经常要对时间进行操作 但是并没有时间类型的数据。那么 我们可以自己实现 一个时间类 来满足程序中的需要。 定义名为MyTime的类 其中应有三个整型成员 时 hour 分 minute 秒 second 为了保 证数据的安全性 这三个成员变量应声明为私有。 为MyTime类定义构造方法 以方便创建对象时初始化成员变量。 再定义diaplay方法 用于将时间信息打印出来。 为MyTime类添加以下方法 addSecond(int sec) addMinute(int min) addHour(int hou) subSecond(int sec) subMinute(int min) subHour(int hou) 分别对时、分、秒进行加减运算。 【练习题】04.构造方法 编写Java程序 模拟简单的计算器。 定义名为Number的类 其中有两个整型数据成员n1和n2 应声明为私有。编写构造方法 赋 予n1和n2初始值 再为该类定义加 addition 、减 subtration 、乘 multiplication 、 除 division 等公有成员方法 分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象 调用各个方法 并显示计算结果。 【练习题】05.构造方法 编写Java程序 用于显示人的姓名和年龄。 定义一个人类 Person 该类中应该有两个私有属性 姓名 name 和年龄 age 。定义构造 方法 用来初始化数据成员。再定义显示 display 方法 将姓名和年龄打印出来。 在main方法中创建人类的实例 然后将信息显示。 【练习题】06.get方法和set方法 定义一个类 该类有一个私有成员变量 通过构造方法将其进行赋初值 并提供该成员的g etXXX()和setXXX()方法 提示 假设有private String name;则有 public void setName(String name){ this.name = name; } public String getName(){ return this.name; } 【练习题】07.构造方法与重载 为"无名的粉"写一个类 class WuMingFen 要求 1.有三个属性 面码:String theMa 粉的分量(两) int quantity 是否带汤 boolean likeSoup 2.写一个构造方法 以便于简化初始化过程 如 WuMingFen f1 = new WuMingFen("牛肉",3,true); 3.重载构造方法 使得初始化过程可以多样化 WuMingFen f2 = new WuMingFen("牛肉",2); 4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的 WuMingFen f3 = new WuMingFen(); 5.写一个普通方法 check() 用于查看粉是否符合要求。即 将对象的三个属性打印在控 制台上。 【练习题】08.构造方法的重载 定义一个名为Vehicles 交通工具 的基类 该类中应包含String类型的成员属性brand 商 标 和color 颜色 还应包含成员方法run 行驶 在控制台显示"我已经开动了" 和showI nfo 显示信息 在控制台显示商标和颜色 并编写构造方法初始化其成员属性。 编写Car 小汽车 类继承于Vehicles类 增加int型成员属性seats 座位 还应增加成员方 法showCar 在控制台显示小汽车的信息 并编写构造方法。 编写Truck 卡车 类继承于Vehicles类 增加float型成员属性load 载重 还应增加成员 方法showTruck 在控制台显示卡车的信息 并编写构造方法。 在main方法中测试以上各类。 【练习题】09.构造方法与重载 定义一个网络用户类 要处理的信息有用户ID、用户密码、email地址。在建立类的实例 时 把

2024年GPLT团体程序设计比赛——赛后题解

第一次参加天梯赛,成绩并没有达到我的预期,拿了150分,什么奖也没有拿到,难过。赛后补题,比赛时轻松多了。赛时老是拿不满分数,一调调半年,结果还是拿满,还浪费了大把时间,第一次参加这么大型的比赛还是挺激动的,也见识了很多,希望下一次能够拿到一个好的奖励。L1毁了我的国三梦。

m0_74237658的博客 2673

Field-Oriented Control (FOC) 矢量控制 磁场定向控制

Field-Oriented Control (FOC) 磁场定向控制(FOC),也称为矢量控制,是一种用于控制永磁同步电动机(PMSM)和交流感应电动机(ACIM)的技术。 FOC在整个扭矩和速度范围内都具有良好的控制能力。 FOC的实现需要将定子电流从固定参考系转换为转子磁通参考系(也称为d-q参考系)。 速度控制和转矩控制是FOC最常用的控制模式。位置控制模式不太常见。大多数牵引应用使用转矩控制模式,在该模式下,电动机控制系统遵循参考转矩值。在速度控制模式下,电机控制器遵循参考速度值,并生成用于形成内

>>> 1万+

UVM自学笔记3——项目之三——从零开始搭建ahb_sramc验证平台

创建如下所示的目录结构: 2.在tb的文件下:顶层的testbench如下:在tb中,第24行的代码将uvm宏相关的内容include进来,第26行的代码把uvm_pkg包导入进来,然后将agent相关的包(ahb_pkg/sram_pkg),testcase相关的包(uvm_ahb_sram_test_pkg)以及env相关的包(uvm_ahb_sram_env_pkg)都导入进来,在第38行和39行将接口以virtual interface的形式配置给ahb_agent和sramc_agent下

ZhangShuHuai11的博客 9470

团体程序设计天梯赛-练习集 L1-102 兰州牛肉面 L1-103 整数的持续性 L1-104 九宫格 L1-105 珍惜生命

利用一个静态数组存储每天每一款销售量,一个变量来计算总销售,加减乘除法问题。

2501_91263296的博客 227

Synopsys SCL许可证服务器搭建详解:从安装到生成.dat文件

本文详细解析了Synopsys SCL许可证服务器的完整搭建流程,从系统环境准备、SCL安装到生成.dat文件。重点阐述了如何正确获取HOST ID、配置License文件以及调试常见故障,为数字芯片设计工程师提供了一套从零到一的实战避坑指南,确保EDA工具链稳定运行。

weixin_29306011的博客 609

PTA团体程序设计天梯赛L1真题讲解L1-101-104

PTA团体程序设计天梯赛L1真题讲解L1-101-104

2401_87563614的博客 598

寻迹Arduino智能小车

Arduino巡线寻迹智能小车

Rachael_Wang的博客 9974

UE5游戏逆向实战:用FModel提取.pak文件中的3D模型(附Dumper-7避坑指南)

本文详细介绍了在UE5游戏逆向工程中使用FModel提取.pak文件中3D模型的实战技巧,包括Dumper-7工具的深度配置与避坑指南。针对UE5特有的unversioned属性系统,提供了从源码编译到智能注入的全链路解决方案,帮助开发者高效获取游戏资产并优化处理流程。

weixin_30374009的博客 495

PTA天梯赛L1 101-112题目解析

按照正常模拟走就可以,但是要熟悉字符串的插入,删除,倒序操作,题目本身不难,但是在关键函数那里,我自己写了一个枚举匹配子串的函数,一直在评测机上显示有问题,但是对拍找不出问题,只能重新写了一种思路,供参考。当然,这也告诉我们,以后玩CCCC,如果题目看起来在无病呻吟,或者自相矛盾。毕竟录入后检查是需要每次都对每个违禁词进行检测,但是如果后续再替换的时候,还从头开始检查就会超时,有点卡常的味道。(如果天气不热、)或(工作场所温度不高,且在室内工作),则输出。(舒适),第二行输出 t 的值。

m0_72678953的博客 1229

手把手教你用GD32F407VET6的EXMC驱动外部SRAM,搞定大内存需求

本文详细介绍了如何使用GD32F407VET6的EXMC外设驱动外部SRAM,解决嵌入式开发中的大内存需求问题。通过硬件连接方案、EXMC时序配置与初始化步骤,以及软件集成与内存管理技巧,帮助开发者快速实现内存扩展。特别适合需要处理图形显示缓冲、音频处理等大内存场景的GD32F407开发者。

weixin_30752699的博客 345

天梯赛练习(3月13日)

本文包含10个编程题目及其解答,涵盖模拟、位运算、字符串处理等考点。题目包括:兰州牛肉面销量统计(模拟)、整数持续性计算(模拟)、九宫格验证(模拟)、直接输出名言、熊猫苹果计数、高温补贴判断(条件模拟)、抹零计算(位运算)、字符串美观评分(统计)、大幂数判断(暴力枚举)等。每个题目都给出了输入输出格式要求、解题思路和Python实现代码,复杂度分析显示均为O(1)或线性复杂度。其中L1-102到L1-111涉及不同难度和类型的编程问题,主要考察基础编程能力和逻辑实现。

2401_82977801的博客 714

抑制电磁干扰(EMI)的实用电路技术

抑制电磁干扰(EMI)的实用电路技术 qtFK_EMC_EMI 【导读】本系列文章的第 1 部分至第 4 部分详细介绍了开关电源稳压器引起的传导发射和辐射发射,包括噪声产生机制、测量要求、频率范围、适用的测试限值、传播模式和寄生效应。在第 5 部分中,我将基于这一理论基础介绍抑制电磁干扰 (EMI) 的实用电路技术。 一般来说,电路原理图和印刷电路板 (PCB) 对于实现出色的 EMI 性能至关重要。第 3 部分重点强调通过谨慎的元器件选型和 PCB 布局尽量减小“功率回路”寄生电感的重要性。电源转换

学海无涯的专栏 1187

基于深度学习的柑橘病害检测系统——YOLOv8 + UI界面 + 数据集

深度学习是机器学习的一种重要分支,它通过构建多层的神经网络(尤其是卷积神经网络CNN)来从大规模的数据中学习特征。近年来,深度学习特别是在计算机视觉领域取得了显著的进展,成为图像分类、目标检测、图像分割等任务的主要技术。对于农业病害检测问题,深度学习通过对大量带标签的病害图像进行训练,能够自动识别不同类型的病害,并判断病害的程度。通过图像中目标(病害区域)的边界框,可以快速定位病害区域,进一步分析其影响范围。

YOLO 1042

团体程序设计天梯赛-练习集L1-个人题解java L1- 1至104

int c=a+b;}//

2301_81777622的博客 797

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

天梯赛L1

天梯赛L100100200300400500600700800901001101201301401501601701801902002102202302402502602702802903003103203303403503603703803904004104204304404504604704804905005105205305405505605705805906006106206306406506606706806907007107207307407607607707807908008108208308

victor_hq的博客 1258

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

2024年 团体程序设计天梯赛个人总结

这是一个悲伤的故事~

H1727548的博客 3752

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

PTA团体程序设计天梯赛-练习集L1(Python3实现)

目录L1-001 Hello WorldL1-002 打印沙漏L1-003 个位数统计L1-004 计算摄氏温度L1-005 考试座位号L1-006 连续因子L1-007 念数字L1-008 求整数段和L1-009 N个数求和L1-010 比较大小L1-011 A-BL1-012 计算指数L1-013 计算阶乘和L1-014 简单题L1-015 跟奥巴马一起画方块L1-016 查验身份证L1-017 到底有多二L1-018 大笨钟L1-019 谁先倒L1-020 帅到没朋友L1-021 重要的话说三遍L1-

wasd233666的博客 5478

团体程序设计天梯赛-练习集-java

团体程序设计天梯赛-练习集-java版本 博客提供题目解析,解题思路,ac代码。 对于无法ac的代码提供相应ac的C++代码

谢谢 啊sir的博客 6121

java——import语句

测试输入: 牛肉,3,true 预期输出: 面码:牛肉,粉的份量:3两,是否带汤:true 面码:牛肉,粉的份量:3两,是否带汤:false 面码:酸辣,粉的份量:2两,是否带汤:true 测试输入: 三鲜,1,true 预期输出: 面码:三鲜,粉的份量:1两,是否带汤:true 面码:三鲜,粉的份量:1两,是否带汤:false 面码:酸辣,粉的份量:2两,是否带汤:true 出现这种情况是...

NJU phd 在读。 2568

L1-009 N个数求和 (20分) 本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。 输入格式: 输入第一行给出一个正整

L1-009 N个数求和 (20分) 本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。 输入格式: 输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 …给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。 输出格式: 输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整数部分为0,

流楚丶格念的博客 2万+

PTA寒假基础题训练(含解题思路)(中)

7-19 两个有序单链表求差集, 7-20 统计数字字符和空格, 7-21 打印沙漏, 7-22 Wifi密码, 7-23 福到了, 7-24 高空坠球, 7-25 数字三角形, 7-26 说反话-加强版, 7-27 输出GPLT, 7-28 梅森数, 7-29 找完数, 7-30 装箱问题, 7-31 查找满足条件的所有整数, 7-32 数组元素循环右移问题, 7-33 螺旋方阵, 7-34 吃火锅, 7-35 复数四则运算

G_matinal的博客 1970

PTA团体天梯赛汇总

csdn逐渐成为我的错题本… 题目一: L1-006 连续因子 (20分) 一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。 输入格式: 输入在一行中给出一个正整数 N(1<N<2 ​31 ​​ )。 输出格式: 首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续因子序列,其

sky666tzz的博客 2321

educoder——面向对象程序设计java——第二阶段Java面向对象(一) - 类与对象

第1关:什么是类,如何创建类 编程要求 声明一个Dog类,给Dog类添加三个String类型的属性,分别是name,color,variety ,定义两个方法,分别是,eat,run。 在main方法中在Begin-End区域创建一个名为wuhuarou的Dog对象,并设置name为五花肉,color为棕色,variety为阿拉斯加。 使得调用wuhuarou对象的eat方法能输出啃骨头,调用run方法能输出叼着骨头跑。 具体输出要求请看测试说明。 测试说明 测试输入:无

zj5566778899的博客 7574
上一篇: C++ vector 超全用法整理
下一篇: L2-001 紧急救援
ab123768
博客等级 码龄3年 43粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ab123768

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值