1039. Course List for Student (25) --hash字符串26进制用法

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>

#include <string>
#include <cstring>
#include <vector>
#include <queue>
#include <map>
#include <set>

using namespace std;

const int P=26;

int hashfunc(char s[])
{
    int id=0;
    for(int i=0;i<3;i++)
    {
        id=(id*P+s[i]-'A');
    }

    id=id*10+(s[3]-'0');
    return id;
}

set<int> a[175760];


int main()
{

    freopen("in.txt","r" ,stdin);

    int N,K;
    scanf("%d %d",&N,&K);
    for(int i=0;i<K;i++)
    {
        int k,t;//k:课程
        scanf("%d %d",&k,&t);
        for(int j=0;j<t;j++)
        {
            char s[10];
            scanf("%s",s);
            int tid=hashfunc(s);
            a[tid].insert(k);
        }
    }

    for(int i=0;i<N;i++)
    {
        char s[10];
        scanf("%s",s);
        int tid=hashfunc(s);
        printf("%s %d",s,a[tid].size());
        for(set<int>::iterator it=a[tid].begin();it!=a[tid].end();it++)
        {
            printf(" %d",*it);
        }
        printf("\n");
    }





    return 0;
}




在Python中,当你尝试使用`setup.py`构建(即安装或打包)像`python-geohash`这样的包时,如果遇到`subprocess-exited-with-error`这样的错误,通常表示在编译或安装过程中系统执行了一个子进程,该子进程以非零退出代码结束,这通常是由于遇到了问题,比如依赖缺失、配置错误或版本不兼容。 具体可能的原因包括: 1. **依赖问题**:可能缺少某些必要的库或版本不匹配。检查`requirements.txt`文件,确认所有的依赖都已正确安装并满足版本要求。 2. **环境设置**:Python路径可能不正确,或者系统环境变量设置有误。确保你的Python解释器路径在系统的PATH环境变量中,并且pip可被找到。 3. **源码错误**:如果源码存在错误,比如语法问题,这可能导致编译失败。检查`python-geohash`的GitHub仓库或官方文档,看看是否有已知的问题或更新说明。 4. **编码/字符集问题**:如果源文件或文档含有特殊的字符编码,而在构建过程中处理不当,也可能导致错误。 5. **权限问题**:有些操作可能需要特定的权限,如写入特定目录。检查当前用户是否有足够的权限进行安装。 为了解决这个问题,你可以尝试以下步骤: - 使用`pip`或`conda`检查和安装依赖 - 清理并重新运行`python setup.py install` - 在命令行提供更多信息(如:`python setup.py install --verbose`) - 查看`setup.py`的日志输出,找到具体的错误信息 - 如果是网络依赖,尝试断网重试或检查网络连接 相关问题: 1. `subprocess-exited-with-error`是什么意思? 2. 如何查看`setup.py`的错误详细日志? 3. 如何在Windows上处理安装时的权限问题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值