1146

用空间换时间不会超时 

一种思路 考虑受制于人  输入u  所有里面含u的擦掉u  会超时

另一种思路  只考虑入度  方便很

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
vector<int> G[1010];
int in[1010] = {0};
int main()
{
	int n,m,k,u,v,now = 0;
	scanf("%d %d",&n,&m);
	for(int i = 0; i < m; i++){
		scanf("%d %d",&u,&v);
		G[u].push_back(v);
		in[v]++;
	}
	scanf("%d",&k);
	for(int i = 0; i < k; i++){
		vector <int> m(in,in+n+1);
		int flag = 1;
		for(int j = 1; j <= n; j++){
			scanf("%d",&u);
			if(m[u] != 0) flag = 0;
			else{
				for(auto it : G[u]) m[it]--;
			/*	for(int k = 0; k <= G[u].size(); k++){
					m[G[u][k]]--; 
				}*/
			}
		}
	    if(flag == 0) {
	       printf("%s%d",now == 0? "":" ",i);
	       now++;
	    }
	}
	system("pause");
	return 0;
}

TCAN1146 是一种由 Texas Instruments(德州仪器)生产的 CAN(Controller Area Network)收发器,广泛应用于汽车和工业通信系统中。它符合 ISO 11898 标准,支持高速 CAN 总线通信,通常用于将 CAN 控制器与物理总线连接起来。以下是关于 TCAN1146 的详细信息和应用要点: ### 电气特性与功能 TCAN1146 提供了差分信号传输功能,具有高抗干扰能力,适用于恶劣的工业和汽车环境。其主要电气特性包括: - **工作电压范围**:支持 4.5V 至 5.5V 的宽电压范围,适用于多种电源设计。 - **传输速率**:支持高达 1 Mbps 的数据传输速率,满足高速 CAN 通信需求。 - **热保护与故障保护**:内置热关断保护和过压保护功能,防止器件因过热或电压异常而损坏。 - **低功耗模式**:支持待机模式,降低功耗以适应节能需求[^1]。 ### 应用场景 TCAN1146 常用于以下场景: - **汽车电子系统**:如发动机控制单元(ECU)、车身控制模块(BCM)等,实现车辆内部的 CAN 总线通信。 - **工业自动化**:在工业控制系统中,用于连接 PLC(可编程逻辑控制器)和传感器等设备。 - **通信网关**:作为 CAN 控制器与物理总线之间的接口,实现数据的可靠传输[^1]。 ### 典型应用电路 TCAN1146 的典型应用电路包括以下部分: - **电源去耦**:在 VCC 引脚附近放置 0.1µF 去耦电容,以减少电源噪声。 - **CAN 总线终端电阻**:在 CAN_H 和 CAN_L 之间连接 120Ω 的终端电阻,以匹配总线阻抗。 - **微控制器接口**:通过 TXD 和 RXD 引脚连接 CAN 控制器,实现数据的发送和接收。 以下是一个典型的 TCAN1146 应用电路示例: ```c // 假设使用微控制器与 TCAN1146 进行通信 #include <mcp2515.h> // 假设使用 MCP2515 作为 CAN 控制器 void setup() { // 初始化 CAN 控制器 CAN.begin(); // 设置 CAN 波特率为 500 kbps CAN.setBitrate(500000); } void loop() { // 发送 CAN 数据帧 CAN_message_t msg; msg.id = 0x123; msg.flags.extended = 0; msg.flags.remote = 0; msg.len = 8; for (int i = 0; i < 8; i++) { msg.buf[i] = i; } CAN.write(msg); } ``` ### 设计注意事项 在使用 TCAN1146 时,需注意以下几点: - **PCB 布局**:为了减少噪声干扰,建议将 TCAN1146 放置在靠近 CAN 连接器的位置,并保持信号走线尽可能短。 - **电源稳定性**:由于 TCAN1146 对电源噪声较为敏感,建议在电源输入端使用滤波电容以提高稳定性。 - **总线保护**:在 CAN_H 和 CAN_L 引脚上可以添加 TVS(瞬态电压抑制)二极管,以防止静电放电(ESD)和电压浪涌对器件造成损害[^1]。 ### 数据手册与应用笔记 TCAN1146 的官方数据手册提供了详细的电气特性、封装信息、时序图以及推荐的工作条件。此外,TI 还提供了相关的应用笔记,涵盖了以下内容: - **CAN 总线系统设计指南**:包括总线拓扑结构、终端电阻配置、信号完整性分析等。 - **EMC 设计建议**:如何优化 PCB 布局以提高电磁兼容性(EMC)性能。 - **故障诊断与保护机制**:介绍 TCAN1146 的热保护、过压保护等功能的实现方式[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值