that_one_nigga_you_k

entegas.c

Dec 10th, 2023 (edited)
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.05 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <math.h>
  5.  
  6. typedef struct {
  7.     char nome[40];
  8.     float preco;
  9.     int peso;
  10.     int num_serie;
  11. } objeto;
  12.  
  13. typedef struct {
  14.     float x;
  15.     float y;
  16. } centro;
  17.  
  18. typedef struct {
  19.     float x;
  20.     float y;
  21. } local;
  22.  
  23. typedef struct {
  24.     int numero_centro;
  25.     local ultimolugar;
  26. } carro;
  27.  
  28. int main() {
  29.  
  30.     int N, P;
  31.  
  32.     scanf("%d %d", &N, &P);
  33.     int posicao[N];
  34.  
  35.     centro rede[P];
  36.     objeto produto[N];
  37.  
  38.     for (int i = 0; i < P; i++) {
  39.         scanf("%f %f", &rede[i].x, &rede[i].y);
  40.     }
  41.  
  42.     for (int i = 0; i < N; i++) {
  43.         int k = 0;
  44.         char nome[40];
  45.         int peso;
  46.         float custo;
  47.         scanf("%s %d %f", nome, &peso, &custo);
  48.  
  49.         strcpy(produto[i].nome, nome);
  50.         produto[i].peso = peso;
  51.         produto[i].preco = custo;
  52.        
  53.  
  54.         char inicio = produto[i].nome[0];
  55.         int position = 0;
  56.         if ((inicio >= 'a' && inicio <= 'z') || (inicio >= 'A' && inicio <= 'Z')) {
  57.             if (inicio >= 'a' && inicio <= 'z') {
  58.                 position = inicio - 'a';
  59.             }
  60.             else{
  61.                 position = inicio - 'A';
  62.             }
  63.         }
  64.         posicao[i] = position;
  65.  
  66.         //printf("\n%d\n", position);
  67.        
  68.         int flag = 0;
  69.         while (flag == 0) {
  70.            
  71.             int valor = (int)round(ceil(custo));
  72.             int candidate = (int)(valor + peso + position + k ) % N;
  73.  
  74.            
  75.             int unique = 1;
  76.             for (int j = 0; j < i; j++) {
  77.                 if (produto[j].num_serie == candidate) {
  78.                     unique = 0;
  79.                     break;
  80.                 }
  81.             }
  82.  
  83.             if (unique) {
  84.                 produto[i].num_serie = candidate;
  85.                 flag = 1;
  86.             }
  87.  
  88.            
  89.             k++;
  90.         }
  91.     }
  92.     printf("\n\n");
  93.     for (int i = 0; i < N; i++) {
  94.         printf("%s ns:%d pos: %d\n", produto[i].nome, produto[i].num_serie, posicao[i]);
  95.     }
  96.  
  97.     return 0;
  98. }
Add Comment
Please, Sign In to add comment